{"id":28308103,"url":"https://github.com/vishwaravi/study-assistant","last_synced_at":"2026-06-23T03:32:19.929Z","repository":{"id":289520532,"uuid":"971536127","full_name":"vishwaravi/study-assistant","owner":"vishwaravi","description":"An intelligent study platform that helps students organize their learning materials, generate practice questions, create summaries of notes, and schedule study sessions optimized for maximum retention — powered by AI.","archived":false,"fork":false,"pushed_at":"2025-08-03T17:55:56.000Z","size":44444,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-23T08:03:29.592Z","etag":null,"topics":["firebase","full-stack","gemini-api","jwt","mysql","react","rest-api","spring-boot","spring-security","springboot","vite"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vishwaravi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-23T17:08:53.000Z","updated_at":"2025-08-03T17:56:00.000Z","dependencies_parsed_at":"2025-08-03T19:26:46.496Z","dependency_job_id":null,"html_url":"https://github.com/vishwaravi/study-assistant","commit_stats":null,"previous_names":["vishwaravi/study-assistant"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vishwaravi/study-assistant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishwaravi%2Fstudy-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishwaravi%2Fstudy-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishwaravi%2Fstudy-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishwaravi%2Fstudy-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vishwaravi","download_url":"https://codeload.github.com/vishwaravi/study-assistant/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vishwaravi%2Fstudy-assistant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34674702,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["firebase","full-stack","gemini-api","jwt","mysql","react","rest-api","spring-boot","spring-security","springboot","vite"],"created_at":"2025-05-24T07:08:58.081Z","updated_at":"2026-06-23T03:32:19.907Z","avatar_url":"https://github.com/vishwaravi.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# 📚 AI-Powered Study Assistant\n\nAn intelligent study platform that helps students organize their learning materials, generate practice questions, create summaries of notes, and schedule study sessions optimized for maximum retention — powered by AI.\n\n---\n\n## 🚀 Tech Stack\n\n- **Frontend**: React.js + Vite, Tailwind CSS\n- **Backend**: Spring Boot (v 3.4.5), Java (JDK 21), Spring Security, JWT Authentication\n- **Database**: Maria DB (v 11.7.2)\n- **AI Integration**: Gemini 2.0 Flash (for Summarization, Question Generation, Concept Explanation)\n- **Other Tools**: SupaBase Storage (Storing materials), Post Man.\n\n---\n\n## ✨ Key Features\n\n- **User Authentication**\n  - Signup/Login with JWT tokens\n  - Secure protected routes\n- **Study Material Management**\n  - Upload and organize notes\n  - Tag materials by subject and  topics.\n- **AI Study Tools**\n  - Generate practice questions from uploaded notes\n  - Summarize long lecture notes\n  - Explain complex concepts in simpler terms\n  - Generate Flash Cards\n- **Study Scheduler**\n  - study session planning and Tracking.\n- **Progress Tracking**\n  - View completed sessions and knowledge gaps\n- **Responsive UI**\n  - Clean, distraction-free interface\n  - Mobile-friendly\n\n---\n## Architecture Diagarm \n\n![architecture](/docs/Architecture_Diagram.png)\n---\n## Database Schema\n![db_schema](/docs/db_schema.png)\n---\n\n## 🛠️ Project Setup\n\n### Backend (Spring Boot)\n\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/study-assistant.git\ncd study-assistant/backend\n\n# Build and run the Spring Boot application\n./mvnw spring-boot:run\n```\n\n\u003e Make sure you have DB running locally or update `application.properties` or `.env` to point to your cloud DB.\n\n### Frontend (React)\n\n```bash\n# Navigate to frontend folder\ncd study-assistant/frontend\n\n# Install dependencies\nnpm install\n\n# Run the application\nnpm run dev\n```\n\n---\n\n## 🔑 Environment Variables\n\nCopy the `.env.example` files and rename them to `.env`, then fill in your actual values.\n\n### Backend Environment Variables\nCopy `backend/.env.example` to `backend/.env` and update:\n\n```bash\nDB_URL=\"jdbc:mariadb://\u003cDB_HOST\u003e:\u003cDB_PORT\u003e/\u003cDB_NAME\u003e\"\nDB_USERNAME=\"\u003cDB_USERNAME\u003e\"\nDB_PASSWORD=\"\u003cDB_PASSWORD\u003e\"\nJWT_SECRET=\"\u003cJWT_SECRET\u003e\"\nCORS_ORIGIN=\"\u003cCORS_ORIGIN\u003e\"\n```\n\u003enote : if you are using other DB change it accordingly. \nif you are using MySQL add a Mysql Dialect \n\n### Frontend Environment Variables\nCopy `frontend/.env.example` to `frontend/.env` and update:\n\n```bash\n# Supabase Configuration\nVITE_SUPABASE_URL=\"\u003cYOUR_SUPABASE_URL\u003e\"\nVITE_SUPABASE_ANON_KEY=\"\u003cYOUR_SUPABASE_ANON_KEY\u003e\"\nVITE_SUPABASE_BUCKET_NAME=\"\u003cYOUR_SUPABASE_BUCKET_NAME\u003e\"\n\nVITE_GEMINI_API_KEY=\"\u003cGEMINI_API_KEY\u003e\"\nVITE_BACKEND_BASE_URL=\"\u003cBACKEND_BASE_URL\u003e\"\n```\n\n### Supabase Storage Setup\n- Create a new bucket in your Supabase project (e.g., \"study-materials\")\n- Make it public for easy file access\n- Set up access policies for authenticated users to upload files\n- Add the bucket name to your frontend `.env` file\n\n---\n\n## 🤖 AI Tools Used\n\n- **GEMINI 2.0 Flash**\n  - Summarization of notes\n  - Question generation from materials\n  - Concept simplification\n  - Flash Card Generation\n\n\n---\n\n## 📸 Demo Screenshots\n#### Login\n![login](/docs/screenshots/login.png)\n---\n#### Home\n![home](/docs/screenshots/home.png)\n---\n#### Flashcards\n![home](/docs/screenshots/flash-cards.png)\n---\n\n\u003c!-- ## 🎥 Demo Video\n\n[Watch the demo here →](https://your-demo-video-link.com)\n\n--- --\u003e\n\n\n## 📄 License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n\n# 🚀 Happy Studying!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvishwaravi%2Fstudy-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvishwaravi%2Fstudy-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvishwaravi%2Fstudy-assistant/lists"}