https://github.com/adityajunwal/teachmate
The is the main Hosted Project!
https://github.com/adityajunwal/teachmate
fastapi frontend gemini-api reactjs
Last synced: 4 months ago
JSON representation
The is the main Hosted Project!
- Host: GitHub
- URL: https://github.com/adityajunwal/teachmate
- Owner: adityajunwal
- Created: 2025-04-04T16:09:24.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-05T13:08:38.000Z (about 1 year ago)
- Last Synced: 2025-04-09T18:10:06.511Z (about 1 year ago)
- Topics: fastapi, frontend, gemini-api, reactjs
- Homepage: https://teach-mate-khaki.vercel.app/login
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TeachMate β AI-Powered Teaching Assistant π
_Revolutionizing classrooms with AI-driven automation for teachers._
---
## π Project Overview
**TeachMate** is an AI-powered assistant designed to automate and simplify tasks for teachers, such as grading, attendance tracking, student performance analysis, and classroom announcements.
---
## πΉ Key Features
- β
**Automated Attendance** (Face Recognition, QR, Voice Commands)
- β
**AI-Powered Grading** (Handwritten & Typed Answer Checking)
- β
**Class Performance Dashboard** (Insights & Reports on Student Progress)
- β
**AI-Generated Announcements** (WhatsApp, Email, In-App Notifications)
- β
**Assignment & Test Management** (Auto-Grading & Scheduling)
- β
**AI-Suggested Teaching Actions** (Personalized Student Support)
---
## π Tech Stack
- **Frontend:** React.js, Tailwind CSS
- **Backend:** FastAPI / Flask
- **Database:** PostgreSQL
- **AI Services:**
- Gemini API (Grading, Performance Insights)
- Google Vision API (OCR for Handwritten Answer Checking)
- Face Recognition API (Automated Attendance)
- **Deployment:** Vercel (Frontend), Render (Backend)
---
## π Project Structure
```
TeachMate/
β
βββ frontend/ # React.js frontend
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # Main app pages (Dashboard, Attendance, Assignments)
β β βββ api/ # API calls (Backend integration)
β βββ public/ # Static assets
β βββ package.json # Frontend dependencies
β βββ .env # Frontend environment variables
β
βββ backend/ # FastAPI/Flask backend
β βββ models/ # Database models (Teachers, Students, Attendance, Grades)
β βββ routes/ # API routes (Attendance, Grading, Announcements)
β βββ services/ # AI integrations (Gemini API, Face Recognition, OCR)
β βββ main.py # Backend entry point
β βββ requirements.txt # Backend dependencies
β βββ .env # Backend environment variables
β
βββ docs/ # Documentation (API, Setup Guide)
βββ README.md # Project Overview
βββ .gitignore # Ignored files
βββ LICENSE # Project license
```
---
## π Getting Started
### π Prerequisites
- Node.js (Frontend)
- Python 3.9+ (Backend)
- PostgreSQL (Database)
---
### π Installation Steps
#### 1οΈβ£ Clone the Repo
```bash
git clone https://github.com/your-username/TeachMate.git
cd TeachMate
```
#### 2οΈβ£ Set Up Backend
```bash
cd backend
pip install -r requirements.txt
uvicorn main:app --reload
```
#### 3οΈβ£ Set Up Frontend
```bash
cd frontend
npm install
npm start
```
---
## π User Manual: How to Use TeachMate
### πΉ Login & Dashboard Access
- Open the TeachMate web application.
- Login using your teacher credentials.
- Dashboard shows:
- Attendance Summary π
- Student Performance Insights π
- Assignments & Test Status π
- AI-Suggested Teaching Actions π€
---
### πΉ Taking Attendance
> **Methods Supported:** Face Recognition / QR Code / Voice Commands
- Navigate to the **Attendance Section**
- Choose your method:
- **Face Recognition** β Camera detects and marks attendance
- **QR Code** β Students scan their codes
- **Voice Command** β e.g., "Mark attendance for Class X"
- Click **Submit**
---
### πΉ AI-Powered Grading
- Go to **Assignments Section**
- Upload handwritten or typed answers
- Grading is done via Gemini API
- Reports appear in **Student Reports Section**
---
### πΉ Sending Announcements
- Navigate to **Announcements Section**
- Type or dictate your message
- Choose delivery: WhatsApp, Email, or In-App
- Click **Send**
---
### πΉ Performance Reports
- Open **Performance Dashboard**
- See individual & class-wise analytics
- AI suggests personalized improvements
---
## π Key API Endpoints
| Method | Endpoint | Description |
|--------|-------------------------------|--------------------------------------------------|
| POST | `/api/attendance/mark` | Mark attendance via Face Recognition/QR Code |
| POST | `/api/assignments/grade` | AI grading of assignments/tests |
| POST | `/api/announcements/send` | Send announcements via WhatsApp/Email |
| GET | `/api/dashboard/performance` | Get student performance analytics |
---
## π€ Contributing
1. Fork the repo
2. Create your branch: `feature-xyz`
3. Commit changes: `git commit -m "Added feature"`
4. Push and open a **Pull Request**
---
## π License
**MIT License** β Open-source & free to use!
---
## π― Why TeachMate?
- β
**Saves Teachersβ Time** β Automates attendance, grading & announcements β³
- β
**Improves Student Engagement** β Personalized AI teaching π
- β
**AI-Driven Insights** β Data-backed teaching decisions π