Examme is a production-grade examination platform designed to streamline the creation, management, and assessment of academic tests. Leveraging Google's Gemini AI, the platform allows teachers to generate high-quality quiz questions directly from lecture notes and documents.
- 🤖 AI Question Generation: Automatically extract questions from PDF/DOCX/TXT files using Gemini AI.
- 👥 Group Management: Teachers can create study groups and invite students via email.
- ⏱️ Real-time Quizzing: Students can take timed exams with instant results.
- 📊 Detailed Analytics: Comprehensive reporting for both teachers and students.
- 🔒 Secure Auth: JWT-based authentication with Refresh Token rotation.
examme/
├── .github/workflows/ # CI/CD Pipelines
├── docs/ # Detailed Documentation
├── src/
│ ├── main/
│ │ ├── java/com/examme/ # Backend Logic
│ │ └── resources/ # Configuration
│ └── test/ # Unit & Integration Tests
├── Dockerfile # Containerization
├── docker-compose.yml # Orchestration
└── pom.xml # Dependency Management
Explore the detailed documentation in the /docs folder:
| Document | Description |
|---|---|
| 🏗️ Architecture | System design and user workflows. |
| 🗄️ Database Schema | Entity Relationship Diagram and table structures. |
| 🔌 API Specification | Full list of REST endpoints and payloads. |
| ✨ Features & Logic | Deep dive into business logic and roles. |
| 🚀 Deployment Guide | Dockerization and CI/CD instructions. |
- JDK 17
- Maven 3.8+
- Docker & Docker Compose
- Gemini API Key
-
Clone the repository:
git clone https://github.com/your-username/examme.git cd examme -
Configure Environment Variables: Create a
.envfile in the root directory:DB_PASSWORD=your_mysql_password JWT_SECRET=your_super_secret_key GEMINI_API_KEY=your_gemini_api_key
-
Run with Docker Compose:
docker-compose up --build
-
Access the API:
- Backend:
http://localhost:8080 - Swagger UI:
http://localhost:8080/swagger-ui.html
- Backend: