Skip to content

MindBoost AI: An Intelligent Study Companion

License

Notifications You must be signed in to change notification settings

lukapopovici/mindboost

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MindBoost

MindBoost is an intelligent academic companion platform built with a microservices architecture.
It helps students and educators analyze study materials, generate knowledge graphs, create quizzes, track learning progress, and monitor academic well-being.

The system integrates AI-powered document parsing, knowledge extraction, quiz generation, burnout prediction, and interest tracking, all accessible via a modern React frontend orchestrated with Docker Compose.


Table of Contents


Overview

MindBoost combines data processing, AI inference, and interactive dashboards to assist academic users in managing knowledge and maintaining a healthy balance between learning and well-being.

Core functionalities include:

  • Parsing and analyzing uploaded study materials.
  • Generating knowledge graphs to visualize concepts.
  • Creating and scoring AI-generated quizzes.
  • Monitoring user interest and burnout risk through machine learning.
  • Providing real-time analytics via Streamlit dashboards.

Architecture

All services are containerized and orchestrated via Docker Compose.
Below is a simplified system diagram illustrating the service interactions:

graph TD
A[Frontend] --> B[Backend API Gateway]

C[PDF Parser Microservice] --> E[Bedrock Client Microservice]
C --> D
B --> D[Knowledge Graph Microservice]
B --> E
D --> J
B --> F[Quiz Burnout Gateway]
F --> G[Quiz Score Microservice]
G --> L[(MongoDB)]
G --> K[Interest Monitor Streamlit]
K --> O[(MongoDB)]
F --> H[ML Model Burnout]
H --> I[Trained Model]
E --> J[Bedrock Monitor Streamlit]

Loading

Flowchart

flowchart TD
    subgraph User Interaction
        A[Login ]
        C[PDF Upload]
        M[Burnout Detection Button]
    end

    subgraph Processing
        D[PDF Parser Microservice]
        E[Extracted Text]
        F[Knowledge Graph Microservice]
        H[Bedrock Client Microservice]
        O[ML Model Burnout Microservice]
        Q[Bedrock Monitor Microservice]
    end

    subgraph Storage
        K[(MongoDB)]
    end

    subgraph Output
        G[Knowledge Graph Visualization]
        I[Quiz Generation]
        J[Quiz Score Microservice]
        L[User Takes Quiz]
        P[Burnout Risk Result]
        R[Usage & Cost Analytics]
    end

    A --> B[Backend]
    A --> C
    C --> D
    D --> E
    E --> F
    F --> G
    E --> H
    H --> I
    I --> J
    J --> K
    I --> L
    L --> J
    M --> N[Quiz Burnout Gateway]
    N --> K
    N --> O
    O --> P
    H --> Q
    Q --> R
Loading

Microservices Included

Service Technology Description Port
backend FastAPI Main API Gateway, routes all requests 8000
pdf-parser-microservice FastAPI Parses PDF files and extracts text 8001
bedrock-client-microservice FastAPI + Boto3 Connects to AWS Bedrock for LLM tasks 8002
knowledge-graph-microservice FastAPI + NetworkX Generates knowledge graphs from parsed text 8003
ml-model-burnout Flask Predicts burnout probability using ML model 8004
quiz-score-microservice Flask Computes quiz results and stores them in MongoDB 8010
quiz-burnout-gateway Flask Aggregates quiz data and calls burnout model 8011
interest-monitor-microservice Flask + Streamlit Displays user topic interests and analytics 8502
mongodb MongoDB Stores quiz results, user data, and interests 27017
bedrock-monitor Streamlit Dashboard for Bedrock Client metrics 8501
frontend React + MUI Web interface for interacting with MindBoost 3000

ML Model: Burnout Predictor

The ml-model-burnout microservice predicts a user’s likelihood of academic burnout using a trained model.

Model Details

  • Model: model.pkl (pre-trained using joblib)
  • Input: Time series of scores (e.g., stress, wellbeing)
  • Output: Probability of being close to burnout (0–1)

Input Example

{
  "user_id": "u1",
  "series": [
    {"date": "2025-01-05", "score": 82},
    {"date": "2025-01-12", "score": 78},
    {"date": "2025-01-20", "score": 74}
  ]
}

Output Example

{
  "user_id": "u1",
  "prob_close_to_burnout": 0.78,
  "features": { ... }
}

Running the System

You can run the entire MindBoost platform using Docker Compose.

# Build and start all services
docker-compose up --build

After all services start:


Running Microservices Individually

Each service can be started separately for local development:

Service Directory Command
Backend (Gateway) src/backend uvicorn src.main:app --reload
PDF Parser src/pdf-parser-microservice uvicorn src.main:app --reload
Bedrock Client src/bedrock-client-microservice uvicorn src.main:app --reload
Knowledge Graph src/knowledge-graph-microservice uvicorn src.main:app --reload
ML Model Burnout src/ml_model_burnout flask --app predict_service run --host=0.0.0.0 --port=8004
Quiz Score quiz-score-microservice flask --app main run --host=0.0.0.0 --port=8010
Quiz Burnout Gateway quiz-burnout-gateway flask --app main run --host=0.0.0.0 --port=8011
Bedrock Monitor bedrock-monitor streamlit run app.py
Interest Monitor interest-monitor-microservice streamlit run app.py

Test Users

Use these credentials during development and testing:

Email Password
[email protected] password123
[email protected] letmein456
[email protected] qwerty789

Initial Setup

Before logging in for the first time, populate the local SQLite and MongoDB databases.

# Install dependencies
pip install -r misc/requirements.txt

# Run the database initialization script
python misc/init_db.py

Versioning and Contribution

Versioning

  • Python: 3.9 / 3.10
  • Node: 18+
  • Dependencies managed via requirements.txt and package.json.

Contributing

Pull requests are welcome!
Please open an issue to discuss proposed changes before submitting.


Summary

MindBoost provides:

  • Modular AI-powered learning analysis
  • Seamless REST-based microservice communication
  • Real-time dashboards for insightful monitoring
  • A robust and scalable Dockerized environment

Demo

Demo Video

About

MindBoost AI: An Intelligent Study Companion

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 46.0%
  • TypeScript 33.8%
  • CSS 15.9%
  • Dockerfile 2.3%
  • HTML 2.0%