How saicharan-nukala/skillswap works
SkillSwap is a peer-to-peer skill-exchange platform. The main workflow is account creation and email verification, profile and skill-request discovery, swap response and acceptance, then chat and scheduled sessions through completion. The graph reflects the documented product capabilities and the sampled route/controller wiring; frontend API-call details and several route/controller implementations were not sampled, so uncertain connections are omitted.
Main entry points: server.js HTTP and socket server · App.jsx React app · swapController.js Swap lifecycle · swapRequestController.js Request matching
Components 25
Web client
- React app
skillswap/src/App.jsx - Auth screens
skillswap/src/components/SignUp.jsx - Profile pages
skillswap/src/components/ProfilePage.jsx - Skill requests
skillswap/src/components/NewSwapsPage.jsx - Swap workflow
skillswap/src/components/Swaps.jsx - Chat interface
skillswap/src/components/Chats.jsx - Session views
skillswap/src/components/SessionDetailPage.jsx
API workflows
- HTTP and socket server
skillswap-backend/server.js - Auth routes
skillswap-backend/routes/authRoutes.js - User routes
skillswap-backend/routes/userRoutes.js - Request routes
skillswap-backend/routes/swapRequestRoutes.js - Swap routes
skillswap-backend/routes/swapRoutes.js - Session routes
skillswap-backend/routes/sessionRoutes.js
Platform domain
- Authentication
skillswap-backend/controllers/authController.js - Request matching
skillswap-backend/controllers/swapRequestController.js - Swap lifecycle
skillswap-backend/controllers/swapController.js - Session management
skillswap-backend/controllers/sessionController.js - Profile service
skillswap-backend/services/userService.js - User records
skillswap-backend/models/User.js - Skill requests
skillswap-backend/models/SwapRequest.js - Swaps and messages
skillswap-backend/models/Swap.js - Sessions
skillswap-backend/models/Session.js
Realtime and email
- Email delivery
skillswap-backend/services/emailService.js - SendGrid
Other components
- Participant
Connections 36
- Participant → React app: uses
- React app → Auth screens: renders
- React app → Profile pages: renders
- React app → Skill requests: renders
- React app → Swap workflow: renders
- React app → Chat interface: renders
- React app → Session views: renders
- Auth screens → HTTP and socket server: API requests
- Profile pages → HTTP and socket server: API requests
- Skill requests → HTTP and socket server: API requests
- Swap workflow → HTTP and socket server: API requests
- Chat interface → HTTP and socket server: chat events
- Session views → HTTP and socket server: API requests
- HTTP and socket server → Auth routes: mounts
- HTTP and socket server → User routes: mounts
- HTTP and socket server → Request routes: mounts
- HTTP and socket server → Swap routes: mounts
- HTTP and socket server → Session routes: mounts
- Request routes → Request matching: dispatches
- Swap routes → Swap lifecycle: dispatches
- Session routes → Session management: dispatches
- Authentication → User records: reads and writes
- Authentication → Email delivery: sends OTP
- User routes → Profile service
- Profile service → User records: reads and updates
- Request matching → Skill requests: reads and writes
- Request matching → Swaps and messages: creates swap
- Swap lifecycle → Swaps and messages: reads and updates
- Swap lifecycle → User records: reads and updates
- Swap lifecycle → Skill requests: deactivates
- Swap lifecycle → Sessions: checks progress
- Swap lifecycle → HTTP and socket server: emits chat events
- Session management → Sessions: reads and writes
- Session management → Swaps and messages: checks participant swap
- HTTP and socket server → Email delivery: tests delivery
- Email delivery → SendGrid: sends mail