How anujmaurya2024/bytestudy works
BytePath is a student academic planner and career-guidance platform: students sign in, enter a dashboard, and use academic planning, study, resource, and guidance features. The React app presents those workflows; its shared academic store manages client state and selected service clients connect to the Spring API. Backend controllers expose domain operations, services apply business rules, and repositories persist records. The README documents this layered design, while sampled excerpts confirm selected auth, academic, advisor, and PYQ flows. Other feature links are shown only where supported by the tree or documented capabilities; unsampled wiring is not inferred.
Main entry points: App.jsx App shell · AuthService.java Authentication · AdvisorService.java Advisor service · useAcademicStore.js Academic store
Components 28
Student web app
- App shell
frontend/src/App.jsx - Academic store
frontend/src/hooks/useAcademicStore.js - Feature panels
frontend/src/components - Login page
frontend/src/components/LoginPage.jsx - Auth client
frontend/src/services/authApi.js - Advisor client
frontend/src/services/advisorApi.js
API and security
- Auth endpoints
backend/src/main/java/com/bytepath/controller/AuthController.java - Authentication
backend/src/main/java/com/bytepath/service/AuthService.java - JWT security
backend/src/main/java/com/bytepath/security
Academic and learning
- Academic endpoints
backend/src/main/java/com/bytepath/controller/AcademicController.java - Academic logic
backend/src/main/java/com/bytepath/service/AcademicService.java - Student features
backend/src/main/java/com/bytepath/controller - Student data logic
backend/src/main/java/com/bytepath/service/StudentDataService.java
Resources and guidance
- Advisor panel
frontend/src/components/AdvisorPanel.jsx - Advisor endpoints
backend/src/main/java/com/bytepath/controller/AdvisorController.java - Advisor service
backend/src/main/java/com/bytepath/service/AdvisorService.java - Document retrieval
backend/src/main/java/com/bytepath/service/DocumentSearchService.java - File storage client
backend/src/main/java/com/bytepath/service/SupabaseStorageService.java
Persistence
- User repository
backend/src/main/java/com/bytepath/repository/UserRepository.java - Semester records
backend/src/main/java/com/bytepath/repository/SemesterRecordRepository.java - Chat messages
backend/src/main/java/com/bytepath/repository/ChatMessageRepository.java - Document chunks
backend/src/main/java/com/bytepath/repository/DocumentChunkRepository.java - Study resources
backend/src/main/java/com/bytepath/repository/PyqResourceRepository.java
Other components
- Student
- AI provider
- Google OAuth
- GitHub OAuth
- Supabase Storage
Connections 27
- Student → App shell: uses
- App shell → Login page: shows
- App shell → Feature panels: renders
- App shell → Academic store: reads state
- Academic store → Auth client: loads session
- Academic store → Advisor client: asks advisor
- Login page → Auth client: signs in
- Auth client → Auth endpoints: calls API
- Advisor panel → Advisor client: sends questions
- Advisor client → Advisor endpoints: calls API
- Auth endpoints → Authentication: delegates
- Authentication → User repository: reads/writes
- Authentication → Google OAuth: validates token
- Authentication → GitHub OAuth: exchanges code
- Auth endpoints → JWT security: uses
- Academic endpoints → Academic logic: delegates
- Academic logic → User repository: updates profile
- Academic logic → Semester records: stores grades
- Student features → Student data logic: delegates
- Advisor endpoints → Advisor service: delegates
- Advisor service → Document retrieval: retrieves excerpts
- Advisor service → AI provider: requests answer
- Advisor service → Chat messages: stores chat
- Document retrieval → Document chunks: searches chunks
- Student data logic → File storage client: manages files
- Student data logic → Study resources: manages resources
- File storage client → Supabase Storage: uploads and fetches