How taseen007/skill-bridge works
SkillBridge is a teacher–learner marketplace for finding instruction, arranging one-to-one sessions, and exchanging feedback. The main journey moves from skill discovery and teacher skill/listing setup to booking, session coordination, then ratings and reviews. Profiles and authentication support that journey; chat and notifications provide communication. The README documents broader capabilities than the sampled source excerpts, so unsampled feature wiring is represented only where the tree or documentation supports it. Backend request handling and persistence are shown at a useful internal layer.
Main entry points: index.js HTTP and socket server · App.jsx Web app and routes · sessionRoutes.js Session endpoints · reviewRoutes.js Rating and review endpoints
Components 25
Web experience
- Web app and routes
frontend/src/App.jsx - Sign-in and profiles
frontend/src/components/pages/Authentication - Skills discovery
frontend/src/components/pages/Skills/page.jsx - Skill setup
frontend/src/components/pages/Skills/AddListings.jsx - Session pages
frontend/src/components/pages/Sessions - Ratings and reviews
frontend/src/components/pages/Rating/RatingReviewPage.jsx
Skills marketplace
- Detailed skill records
backend/models/skills.js - Skill listings
backend/models/skillListing.js
Learning sessions
- Booking and status
backend/models/session.js
Communication and feedback
- Notifications
backend/models/notificationModel.js - Real-time chat
backend/routes/chatRoutes.js - Ratings and reviews
backend/models/rating.js - Review records
backend/models/review.js - Realtime dispatch
backend/utils/realtime.js - Email notifications
backend/utils/email.js
Backend services
- User endpoints
backend/routes/user.route.js - Skill endpoints
backend/routes/skillRoutes.js - Listing endpoints
backend/routes/listingRoutes.js - Session endpoints
backend/routes/sessionRoutes.js - Rating and review endpoints
backend/routes/reviewRoutes.js - Identity and roles
backend/controllers/user.controller.js - HTTP and socket server
backend/index.js
Other components
- Learner
- Teacher
- MongoDB
Connections 36
- Learner → Web app and routes: uses
- Teacher → Web app and routes: uses
- Web app and routes → Sign-in and profiles: routes to
- Web app and routes → Skills discovery: routes to
- Web app and routes → Skill setup: routes to
- Web app and routes → Session pages: routes to
- Web app and routes → Ratings and reviews: routes to
- Sign-in and profiles → User endpoints: requests
- Skills discovery → Skill endpoints: requests
- Skills discovery → Listing endpoints: browses
- Skill setup → Skill endpoints: creates skills
- Skill setup → Listing endpoints: publishes listing
- Session pages → Session endpoints: books and manages
- Ratings and reviews → Rating and review endpoints: submits feedback
- HTTP and socket server → User endpoints: mounts
- HTTP and socket server → Skill endpoints: mounts
- HTTP and socket server → Listing endpoints: mounts
- HTTP and socket server → Session endpoints: mounts
- HTTP and socket server → Rating and review endpoints: mounts
- Skill endpoints → Detailed skill records: dispatches to
- Listing endpoints → Skill listings: dispatches to
- Session endpoints → Booking and status: dispatches to
- Rating and review endpoints → Ratings and reviews: dispatches to
- Rating and review endpoints → Review records: dispatches to
- Session endpoints → Notifications: creates
- Session endpoints → Realtime dispatch: emits updates
- Session endpoints → Email notifications: sends email
- HTTP and socket server → Realtime dispatch: configures
- HTTP and socket server → Real-time chat: mounts
- Identity and roles → MongoDB: reads and writes
- Detailed skill records → MongoDB: persists in
- Skill listings → MongoDB: persists in
- Booking and status → MongoDB: persists in
- Notifications → MongoDB: persists in
- Ratings and reviews → MongoDB: persists in
- Review records → MongoDB: persists in