Skip to content

Repository files navigation

EduMind AI Platform

EduMind is an advanced, AI-powered educational system designed to automate curriculum design, assessment creation, and grading. Built with a clean, light-themed lavender glassmorphism aesthetic, the application provides an interactive portal for students to take assessments and an administrative panel for instructors to ingest documents, configure exams, and audit class performance using data visualization.


Workflow Overview

1. Document Ingestion

Instructors access the Instructor Interface (secured by password authentication) where they specify target assessment parameters, such as the number of Multiple Choice Questions (MCQs) and Short Answer Questions (SAQs). They upload a PDF document containing the reference source material.

2. AI Assessment Generation

The system parses the document content and routes the extracted text to Google Gemini (specifically the gemini-2.5-flash model) using the modern google-genai SDK. By enforcing strict JSON schema configurations through Pydantic data models, the platform receives predictable, structured lesson summaries, key learning points, and hybrid question sets. These are automatically persisted in a local database.

3. Student Assessment Portal

Students choose a deployed module from the assignment selection catalog and submit their credentials. They are presented with a lesson review card and the corresponding assessment.

  • MCQ grading is evaluated deterministically by matching the candidate selection against the answer key.
  • Short Answer grading utilizes the AI engine to evaluate student explanations against explicit rubric criteria, awarding a score of 0, 1, or 2 marks accompanied by a clear, written feedback rationale.

4. Class Analytics & Performance Auditing

Score records are stored in the database. Deployed metrics dashboards aggregate overall student performance, showcasing the total verified submissions, class mean average, and maximum scores. Interactive bar charts render score distributions across the different modules.


Technical Stack

  • Main Application Framework: Streamlit (Python)
  • Design Language: Custom CSS featuring Lavender Glassmorphism, smooth animations, and responsive flexbox layouts
  • Language: Python 3
  • AI Engine Provider: Google Gemini (gemini-2.5-flash) via the google-genai SDK
  • Data Processing & Visualization: Pandas and Plotly Express
  • Relational Storage: SQLite3 (local serverless database)
  • Document Reader: PyPDF2
  • Environment Configuration: python-dotenv

Repository Structure

  • app.py: Entrypoint file containing main UI execution tabs, session routing, and HTML/CSS styling overrides.
  • core/ai_engine.py: AI client initialization, PDF text extractor, generation configurations, and short-answer grading schema declarations.
  • core/database.py: Relational database initialization script, lesson metadata insertion logic, and candidate score registration methods.
  • init_db.py: Standalone console helper to initialize the SQLite database tables.
  • fix_db.py: Standalone migration helper to update legacy databases to include question type mappings.
  • requirements.txt: Python dependency manifest.
  • .gitignore: File configuration to exclude virtual environments, environment secrets, and sqlite databases from being tracked in Git.

Installation and Execution Guide

Prerequisites

  • Python 3.10 or higher installed on your local machine.

Setup Instructions

  1. Clone the repository and navigate to the project directory:

    git clone <repository-url>
    cd EduMind
  2. Set up a virtual environment and activate it:

    python -m venv venv
    # On Windows (PowerShell):
    .\venv\Scripts\Activate.ps1
    # On macOS/Linux:
    source venv/bin/activate
  3. Install the required libraries:

    pip install -r requirements.txt
  4. Configure the Google GenAI environment variable:

    • Define the GEMINI_API_KEY system environment variable:
      # On Windows (Command Prompt):
      set GEMINI_API_KEY="your_api_key_here"
      # On Windows (PowerShell):
      $env:GEMINI_API_KEY="your_api_key_here"
      # On macOS/Linux:
      export GEMINI_API_KEY="your_api_key_here"
    • Alternatively, you can add it to a local .env file in the project root:
      GEMINI_API_KEY=your_api_key_here
  5. Initialize the database tables:

    python init_db.py
  6. Run the Streamlit application:

    streamlit run app.py
  7. Access the application on http://localhost:8501. Use the gateway credentials EDUMIND123 to log in to the Instructor Interface and Analytics views.

About

An AI-powered educational platform built with Streamlit and Google Gemini to automate curriculum design, assessment creation, and grading.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages