How ayushvishwakarmanitk/studybuddy works
StudyBuddy is a student study-partner matching and accountability platform. Students sign in, complete their profiles and education details, create study spaces, and answer a questionnaire to receive partner matches; the dashboard supports ongoing study-space and progress management. The frontend separates screens, API clients, and shared types; Django views coordinate authentication, profile and study-space operations, and matching. The README also names AI-driven insights, but the available evidence does not establish a separate insights workflow. Backend routes and database configuration were not shown in enough detail to verify their wiring.
Main entry points: App.tsx App navigation · views.py Request handlers · auth.ts Auth API · studyBuddy.ts Study API
Components 17
Student experience
- App navigation
frontend/src/App.tsx - Sign-in
frontend/src/pages/SignUpLoginPage.tsx - Profile onboarding
frontend/src/pages/ProfileCompletionPage.tsx - Study dashboard
frontend/src/pages/DashboardPage.tsx - Match questionnaire
frontend/src/pages/QuestionnairePage.tsx
Frontend services
- Auth API
frontend/src/api/auth.ts - Study API
frontend/src/api/studyBuddy.ts - API transport
frontend/src/api/client.ts - Study data types
frontend/src/types/dashboard.ts
Backend domain
- Request handlers
backend/users/views.py - Google token verification
backend/users/google_auth.py - Partner matching
backend/users/matching.py - API serializers
backend/users/serializers.py
Domain data
- Student and study records
backend/users/models.py - PostgreSQL database
Other components
- Student
- Google identity
Connections 23
- Student → App navigation: uses
frontend/src/App.tsx - App navigation → Sign-in: routes to
frontend/src/App.tsx - App navigation → Profile onboarding: routes to
frontend/src/App.tsx - App navigation → Study dashboard: routes to
frontend/src/App.tsx - App navigation → Match questionnaire: routes to
frontend/src/App.tsx - Sign-in → Auth API: authenticates through
frontend/src/pages/SignUpLoginPage.tsx - Profile onboarding → Auth API: updates profile through
frontend/src/pages/ProfileCompletionPage.tsx - Study dashboard → Auth API: uses
frontend/src/pages/DashboardPage.tsx - Study dashboard → Study API: manages study data
frontend/src/pages/DashboardPage.tsx - Match questionnaire → Study API: submits answers
frontend/src/pages/QuestionnairePage.tsx - Auth API → API transport: sends requests
frontend/src/api/auth.ts - Study API → API transport: sends requests
frontend/src/api/studyBuddy.ts - API transport → Request handlers: HTTP API calls
- Google identity → Sign-in: provides identity
frontend/src/pages/SignUpLoginPage.tsx - Request handlers → Google token verification: verifies token
backend/users/views.py - Google token verification → Google identity: checks token
backend/users/google_auth.py - Request handlers → Partner matching: requests matches
backend/users/views.py - Request handlers → API serializers: serializes responses
backend/users/views.py - Request handlers → Student and study records: reads and writes
backend/users/views.py - Partner matching → Student and study records: uses records
backend/users/matching.py - Student and study records → PostgreSQL database: persists domain data
- Study API → Study data types: maps study data
frontend/src/api/studyBuddy.ts - Auth API → Study data types: uses profile types
frontend/src/api/auth.ts