How srikarshetkar/spih101 works
SportSphere is an athlete networking and sports-event platform. Athletes sign in, complete onboarding and profiles, discover people or events, then coordinate participation through event management, chat and notifications; attendance feeds the trust system. The graph separates the React experience, API feature handlers and persistence/realtime integrations. README capabilities are retained where source excerpts were unavailable; those links are shown only where documented or directly evidenced, so some feature wiring is intentionally not inferred.
Main entry points: server.js Express server · App.jsx App routes · prismaService.js PostgreSQL data · api.js API client
Components 28
Athlete experience
- App routes
frontend/src/App.jsx - Sign in
frontend/src/pages/Login.jsx - Onboarding
frontend/src/pages/Onboarding.jsx - Athlete profile
frontend/src/pages/AthleteProfile.jsx - Discovery
frontend/src/pages/Discovery.jsx - Events
frontend/src/pages/Events.jsx - Event details
frontend/src/pages/EventDetails.jsx - Notifications
frontend/src/pages/Notifications.jsx - API client
frontend/src/services/api.js
Platform API
- Express server
backend/src/server.js - Auth routes
backend/src/routes/authRoutes.js - Authentication
backend/src/controllers/authController.js - Google verification
backend/src/services/googleAuthService.js - Onboarding API
backend/src/controllers/onboardingController.js - Profile API
backend/src/controllers/profileController.js - Athlete discovery
backend/src/controllers/discoveryController.js - Event management
backend/src/controllers/eventController.js - Paid event joining
backend/src/controllers/paymentController.js - Trust scoring
backend/src/services/trustService.js - Notifications
backend/src/services/notificationService.js - Chat API
backend/src/controllers/chatController.js - PostgreSQL data
backend/src/services/prismaService.js
Realtime and media
- Socket.IO
backend/src/socket/index.js - Socket client
frontend/src/services/socket.js
External services
- Cloudinary uploads
backend/src/routes/uploadRoutes.js - Google identity
- Razorpay
backend/src/services/razorpayService.js
Other components
- Athlete
Connections 42
- Athlete → App routes: uses
- App routes → Sign in: routes
- App routes → Onboarding: routes
- App routes → Athlete profile: routes
- App routes → Discovery: routes
- App routes → Events: routes
- App routes → Event details: routes
- App routes → Notifications: routes
- Sign in → API client: requests
- Onboarding → API client: requests
- Athlete profile → API client: requests
- Discovery → API client: requests
- Events → API client: requests
- Event details → API client: requests
- Notifications → API client: requests
- API client → Express server: HTTP API
- Express server → Auth routes: mounts
- Auth routes → Authentication: dispatches
- Authentication → PostgreSQL data: reads/writes
- Authentication → Google verification: verifies token
- Google verification → Google identity: fetches signing keys
- Express server → Onboarding API: mounts routes
- Express server → Profile API: mounts routes
- Express server → Athlete discovery: mounts routes
- Express server → Event management: mounts routes
- Express server → Chat API: mounts routes
- Express server → Notifications: mounts routes
- Onboarding API → PostgreSQL data: reads/writes
- Profile API → PostgreSQL data: reads/writes
- Athlete discovery → PostgreSQL data: queries
- Event management → PostgreSQL data: reads/writes
- Event management → Trust scoring: applies attendance
- Event management → Notifications: sends updates
- Trust scoring → PostgreSQL data: updates scores
- Notifications → PostgreSQL data: stores notices
- Express server → Socket.IO: initializes
- Chat API → PostgreSQL data: reads/writes
- Socket client → Socket.IO: connects
- Express server → Cloudinary uploads: configures
- Event management → Paid event joining: dispatches paid join
- Paid event joining → Razorpay: processes payment
- Paid event joining → PostgreSQL data: updates participation