{"id":27022481,"url":"https://github.com/adityajunwal/teachmate","last_synced_at":"2026-02-21T20:33:12.079Z","repository":{"id":286164568,"uuid":"960545469","full_name":"adityajunwal/TEACHMATE","owner":"adityajunwal","description":"The is the main Hosted Project!","archived":false,"fork":false,"pushed_at":"2025-04-05T13:08:38.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T18:10:06.511Z","etag":null,"topics":["fastapi","frontend","gemini-api","reactjs"],"latest_commit_sha":null,"homepage":"https://teach-mate-khaki.vercel.app/login","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adityajunwal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-04T16:09:24.000Z","updated_at":"2025-04-05T13:08:41.000Z","dependencies_parsed_at":"2025-04-04T18:30:52.167Z","dependency_job_id":"8644f824-69fc-4436-a0b1-f32ea1bea042","html_url":"https://github.com/adityajunwal/TEACHMATE","commit_stats":null,"previous_names":["adityajunwal/teachmate"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityajunwal%2FTEACHMATE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityajunwal%2FTEACHMATE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityajunwal%2FTEACHMATE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityajunwal%2FTEACHMATE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adityajunwal","download_url":"https://codeload.github.com/adityajunwal/TEACHMATE/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248298430,"owners_count":21080318,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","frontend","gemini-api","reactjs"],"created_at":"2025-04-04T20:29:59.189Z","updated_at":"2026-02-21T20:33:12.050Z","avatar_url":"https://github.com/adityajunwal.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# TeachMate – AI-Powered Teaching Assistant 🚀  \n_Revolutionizing classrooms with AI-driven automation for teachers._\n\n---\n\n## 📌 Project Overview\n\n**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.\n\n---\n\n## 🔹 Key Features\n\n- ✅ **Automated Attendance** (Face Recognition, QR, Voice Commands)  \n- ✅ **AI-Powered Grading** (Handwritten \u0026 Typed Answer Checking)  \n- ✅ **Class Performance Dashboard** (Insights \u0026 Reports on Student Progress)  \n- ✅ **AI-Generated Announcements** (WhatsApp, Email, In-App Notifications)  \n- ✅ **Assignment \u0026 Test Management** (Auto-Grading \u0026 Scheduling)  \n- ✅ **AI-Suggested Teaching Actions** (Personalized Student Support)\n\n---\n\n## 🏗 Tech Stack\n\n- **Frontend:** React.js, Tailwind CSS  \n- **Backend:** FastAPI / Flask  \n- **Database:** PostgreSQL  \n- **AI Services:**  \n  - Gemini API (Grading, Performance Insights)  \n  - Google Vision API (OCR for Handwritten Answer Checking)  \n  - Face Recognition API (Automated Attendance)  \n- **Deployment:** Vercel (Frontend), Render (Backend)\n\n---\n\n## 📁 Project Structure\n\n```\nTeachMate/\n│\n├── frontend/                # React.js frontend\n│   ├── src/\n│   │   ├── components/      # Reusable UI components\n│   │   ├── pages/           # Main app pages (Dashboard, Attendance, Assignments)\n│   │   ├── api/             # API calls (Backend integration)\n│   ├── public/              # Static assets\n│   ├── package.json         # Frontend dependencies\n│   └── .env                 # Frontend environment variables\n│\n├── backend/                 # FastAPI/Flask backend\n│   ├── models/              # Database models (Teachers, Students, Attendance, Grades)\n│   ├── routes/              # API routes (Attendance, Grading, Announcements)\n│   ├── services/            # AI integrations (Gemini API, Face Recognition, OCR)\n│   ├── main.py              # Backend entry point\n│   ├── requirements.txt     # Backend dependencies\n│   └── .env                 # Backend environment variables\n│\n├── docs/                    # Documentation (API, Setup Guide)\n├── README.md                # Project Overview\n├── .gitignore               # Ignored files\n└── LICENSE                  # Project license\n```\n\n---\n\n## 🚀 Getting Started\n\n### 📌 Prerequisites\n\n- Node.js (Frontend)  \n- Python 3.9+ (Backend)  \n- PostgreSQL (Database)\n\n---\n\n### 📌 Installation Steps\n\n#### 1️⃣ Clone the Repo\n\n```bash\ngit clone https://github.com/your-username/TeachMate.git\ncd TeachMate\n```\n\n#### 2️⃣ Set Up Backend\n\n```bash\ncd backend\npip install -r requirements.txt\nuvicorn main:app --reload\n```\n\n#### 3️⃣ Set Up Frontend\n\n```bash\ncd frontend\nnpm install\nnpm start\n```\n\n---\n\n## 📌 User Manual: How to Use TeachMate\n\n### 🔹 Login \u0026 Dashboard Access\n\n- Open the TeachMate web application.  \n- Login using your teacher credentials.  \n- Dashboard shows:  \n  - Attendance Summary 📅  \n  - Student Performance Insights 📊  \n  - Assignments \u0026 Test Status 📝  \n  - AI-Suggested Teaching Actions 🤖\n\n---\n\n### 🔹 Taking Attendance\n\n\u003e **Methods Supported:** Face Recognition / QR Code / Voice Commands\n\n- Navigate to the **Attendance Section**  \n- Choose your method:  \n  - **Face Recognition** – Camera detects and marks attendance  \n  - **QR Code** – Students scan their codes  \n  - **Voice Command** – e.g., \"Mark attendance for Class X\"  \n- Click **Submit**\n\n---\n\n### 🔹 AI-Powered Grading\n\n- Go to **Assignments Section**  \n- Upload handwritten or typed answers  \n- Grading is done via Gemini API  \n- Reports appear in **Student Reports Section**\n\n---\n\n### 🔹 Sending Announcements\n\n- Navigate to **Announcements Section**  \n- Type or dictate your message  \n- Choose delivery: WhatsApp, Email, or In-App  \n- Click **Send**\n\n---\n\n### 🔹 Performance Reports\n\n- Open **Performance Dashboard**  \n- See individual \u0026 class-wise analytics  \n- AI suggests personalized improvements\n\n---\n\n## 📌 Key API Endpoints\n\n| Method | Endpoint                      | Description                                      |\n|--------|-------------------------------|--------------------------------------------------|\n| POST   | `/api/attendance/mark`        | Mark attendance via Face Recognition/QR Code    |\n| POST   | `/api/assignments/grade`      | AI grading of assignments/tests                 |\n| POST   | `/api/announcements/send`     | Send announcements via WhatsApp/Email           |\n| GET    | `/api/dashboard/performance`  | Get student performance analytics               |\n\n---\n\n## 🤝 Contributing\n\n1. Fork the repo  \n2. Create your branch: `feature-xyz`  \n3. Commit changes: `git commit -m \"Added feature\"`  \n4. Push and open a **Pull Request**\n\n---\n\n## 📜 License\n\n**MIT License** – Open-source \u0026 free to use!\n\n---\n\n## 🎯 Why TeachMate?\n\n- ✅ **Saves Teachers’ Time** – Automates attendance, grading \u0026 announcements ⏳  \n- ✅ **Improves Student Engagement** – Personalized AI teaching 📚  \n- ✅ **AI-Driven Insights** – Data-backed teaching decisions 📊\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadityajunwal%2Fteachmate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadityajunwal%2Fteachmate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadityajunwal%2Fteachmate/lists"}