Skip to content

ExamineMeProject/Examme-Backend

Repository files navigation

Examme - Smart Examination Platform 🎓

Java Spring Boot MySQL Docker Grok AI

📝 Project Overview

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.

Core Features

  • 🤖 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.

📂 Project Structure

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

🔗 Quick Links

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.

🛠️ Installation & Setup

Prerequisites

  • JDK 17
  • Maven 3.8+
  • Docker & Docker Compose
  • Gemini API Key

Local Development

  1. Clone the repository:

    git clone https://github.com/your-username/examme.git
    cd examme
  2. Configure Environment Variables: Create a .env file in the root directory:

    DB_PASSWORD=your_mysql_password
    JWT_SECRET=your_super_secret_key
    GEMINI_API_KEY=your_gemini_api_key
  3. Run with Docker Compose:

    docker-compose up --build
  4. Access the API:

    • Backend: http://localhost:8080
    • Swagger UI: http://localhost:8080/swagger-ui.html

Back to Top

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors