A comprehensive interview system with Google Gemini AI integration for question customization, code execution, and intelligent feedback generation.
- AI-Powered Questions: Customized interview questions based on job context and candidate profile
- Code Execution: Execute and validate code submissions against test cases
- Intelligent Hints: AI-generated hints for technical problems
- Technical Feedback: Job-context aware feedback with hireability scoring
- Multi-Language Support: Python, JavaScript
- MongoDB Integration: Persistent session and question storage
- Go 1.19+
- MongoDB (local or Atlas)
- Google Gemini API key
-
Install dependencies:
go mod tidy
-
Set up environment variables:
# Create .env file with your credentials MONGODB_URI=mongodb://localhost:27017/stormhacks GEMINI_API_KEY=your_gemini_api_key_here -
Run the server:
go run main.go
-
Access the API:
- Web interface: http://localhost:8080
- Health check: http://localhost:8080/health
POST /api/interview/session- Create interview sessionGET /api/interview-questions- Get AI-customized questionsPOST /api/interview/feedback- Generate interview feedbackGET /api/technical-question- Get technical questions by difficultyPOST /api/hint- Generate AI hintsPOST /api/execute-code- Execute and validate codePOST /api/technical-feedback- Generate technical feedback
-
Create a session:
curl -X POST http://localhost:8080/api/interview/session \ -H "Content-Type: application/json" \ -d '{"parsedResumeText": "...", "jobTitle": "Software Engineer", "jobInfo": "..."}'
-
Get questions:
curl "http://localhost:8080/api/interview-questions?sessionId=YOUR_SESSION_ID" -
Execute code:
curl -X POST http://localhost:8080/api/execute-code \ -H "Content-Type: application/json" \ -d '{"questionId": "...", "code": "def solution(): ...", "language": "python"}'
stormhacks-BE/
├── handlers/ # HTTP request handlers
├── services/ # Business logic and AI integration
├── repositories/ # Database operations
├── models/ # Data structures
├── types/ # Request/response types
├── prompts/ # AI prompt templates
├── database/ # MongoDB connection and migrations
└── main.go # Server entry point
- Backend: Go with HTTP handlers
- Database: MongoDB with BSON
- AI: Google Gemini API
- Code Execution: go-piston library
- Architecture: Clean layered architecture (handlers → services → repositories)