How miavatra/tutoconnect works
TutoConnect is a tutoring marketplace for students, tutors, and administrators. Students enter through the public site, sign in, search tutor listings, inspect a profile, and can proceed to booking; the product also presents session management, messaging, reviews, and credit wallets. Tutor and admin areas provide their respective management screens. The repository includes Supabase authentication and migrations, while listings and some interactions are explicitly mocked in the README or sampled source. Uninspected page-to-service wiring is not assumed; documented capabilities are shown without asserting persistence.
Main entry points: App.tsx Route application · StudentSearch.tsx Tutor search · TutorDetail.tsx Tutor profile · supabase.ts Supabase client
Components 28
Public and access
- Route application
src/App.tsx - Public home
src/pages/Home.tsx - Login and signup
src/pages - Role protection
src/components/ProtectedRoute.tsx
Student learning
- Tutor search
src/pages/StudentSearch.tsx - Mock listings
src/lib/mockListings.ts - Tutor profile
src/pages/TutorDetail.tsx - Session booking
src/components/BookingModal.tsx - Student sessions
src/pages/StudentSessions.tsx - Student messages
src/pages/StudentMessages.tsx - Student wallet
src/pages/StudentWallet.tsx - Session review
src/components/ReviewModal.tsx
Tutor workspace
- Tutor dashboard
src/pages/TutorDashboard.tsx - Tutor profile setup
src/pages/TutorProfile.tsx - Tutor sessions
src/pages/TutorSessions.tsx - Tutor messages
src/pages/TutorMessages.tsx - Tutor wallet
src/pages/TutorWallet.tsx - Public preview
src/pages/TutorPublicPreview.tsx
Administration
- Admin dashboard
src/pages/AdminDashboard.tsx - Dispute handling
src/pages/AdminDisputes.tsx - Content moderation
src/pages/AdminModeration.tsx
Shared platform
- Authentication logic
src/lib/auth.ts - Supabase client
src/lib/supabase.ts - Database schema
supabase/migrations
Other components
- Student
- Tutor
- Administrator
- Supabase
Connections 29
- Student → Route application: opens
- Tutor → Route application: opens
- Administrator → Route application: opens
- Route application → Public home: routes to
- Route application → Login and signup: routes to
- Route application → Role protection: protects routes
- Route application → Tutor search: routes to
- Route application → Tutor profile: routes to
- Route application → Student sessions: routes to
- Route application → Student messages: routes to
- Route application → Student wallet: routes to
- Route application → Tutor dashboard: routes to
- Route application → Tutor profile setup: routes to
- Route application → Tutor sessions: routes to
- Route application → Tutor messages: routes to
- Route application → Tutor wallet: routes to
- Route application → Public preview: routes to
- Route application → Admin dashboard: routes to
- Route application → Dispute handling: routes to
- Route application → Content moderation: routes to
- Tutor search → Mock listings: reads listings
- Tutor search → Tutor profile: links to
- Tutor profile → Session booking: opens booking
- Student sessions → Session review: opens review
- Login and signup → Authentication logic: authenticates
- Route application → Supabase client: checks auth state
- Authentication logic → Supabase client: uses client
- Supabase client → Supabase: connects
- Database schema → Supabase: defines tables