A dynamic multiple-choice exam application for interview preparation, built with Node.js and React.js. The application leverages Google's Gemini API to generate customized technical questions based on user-specified topics.
- AI-Powered Question Generation: Create custom exams on any programming topic using Google's Gemini API
- Interactive Exam Interface: Take timed exams with a clean, intuitive UI
- Automated Grading: Get instant feedback on your performance
- Detailed Reports: Review your answers with explanations for each question
- Node.js (v14 or higher)
- Google Gemini API key
- Clone the repository
- Install dependencies:
npm install - Create a
.envfile in the root directory with the following content:GEMINI_API_KEY=your_gemini_api_key_here PORT=3001 - Start the development server:
npm run dev
- Go to Google AI Studio
- Sign in with your Google account
- Create a new API key
- Copy the API key to your
.envfile
- Enter a technical topic (e.g., "JavaScript Promises", "React Hooks")
- Specify the number of questions and time per question
- Take the exam
- Review your results and explanations
- Frontend: React.js, Framer Motion, React Router
- Backend: Node.js, Express
- API: Google Gemini API
/server- Backend code/controllers- Request handlers/routes- API routes/services- Business logic
/src- Frontend code/components- Reusable UI components/pages- Page components/services- API client
MIT