An AI-powered backend system that intelligently pairs students with suitable study partners based on their study goals, preferred time, learning type, and personality traits. Built with FastAPI, this project enables seamless and customizable matching through a RESTful API.
- ✅ Matches students based on:
- Study goal
- Preferred study time
- Study type (reading, video, group, etc.)
- Personality traits (collaborative, adaptive, etc.)
- ⚡ FastAPI-powered backend
- 📦 JSON-based student data and config
- 📩 Simple and extendable matching logic
- 🐳 Docker support for deployment
study-buddy/ ├── app/ │ ├── init.py │ ├── main.py # FastAPI endpoints │ ├── matcher.py # Matching logic │ └── pycache/ ├── data/ │ └── students.json # Sample student data ├── tests/ # (Optional) For unit tests ├── config.json # Configuration file ├── Dockerfile # For containerization ├── README.md # Project documentation ├── requirements.txt # Python dependencies └── schema.json # JSON schema for validation
Install dependencies using:
pip install -r requirements.txtStart the server with:
uvicorn app.main:app --reloadThen open in browser:
http://127.0.0.1:8000/docs
Endpoint: POST /match
Request Body:
{
"student_id": "stu_1001",
"goal": "Master Data Science",
"preferred_study_time": "early_morning",
"study_type": "reading",
"personality": ["collaborative", "adaptive"]
}Sample Response:
{
"matched_with": "stu_1004",
"compatibility_score": 87
}To build and run the Docker container:
docker build -t study-buddy .
docker run -p 8000:8000 study-buddy- Frontend integration
- ML-based intelligent matching
- Match history and feedback loop
- Authentication system