How hemangi-makwana/csc210_project7_group5 works
Skill Exchange is a peer-to-peer learning platform: users discover mentors, manage skill profiles, arrange sessions, and build trust through reviews and verification. The main flow runs from the React application through its API client to the Express service and persistent data; the README also describes algorithmic support for search, recommendations, and booking. The graph preserves documented product branches even where their implementations were not sampled. Backend endpoint details and several UI-to-API links are only partially evidenced, so those relationships are omitted rather than inferred.
Main entry points: App.jsx React application · server.js REST API service · reputationEngine.js Reputation engine · client.js API client
Components 23
Web application
- React application
frontend/src/App.jsx - Authentication state
frontend/src/context/AuthContext.jsx - Mentor discovery
frontend/src/pages/MentorSearch.jsx - Skill profiles
frontend/src/pages/SkillProfile.jsx - Session booking
frontend/src/pages/SessionBooking.jsx - Learning history
frontend/src/pages/LearningHistory.jsx - Mentor recommendations
frontend/src/pages/Recommendations.jsx - Peer messaging
frontend/src/pages/Messages.jsx - Teacher verification
frontend/src/pages/TeacherVerification.jsx - Reviewer portal
frontend/src/pages/ReviewerPortal.jsx - Course requests
frontend/src/pages/CourseRequests.jsx - API client
frontend/src/api/client.js
Backend service
- REST API service
backend/server.js
DSA engine
- Skill lookup
backend/dsa/hashTable.js - Mentor network
backend/dsa/graph.js - Recommendation ranking
backend/dsa/heap.js - Booking queue
backend/dsa/queue.js - Reputation engine
backend/dsa/reputationEngine.js - Decision tree
backend/dsa/decisionTree.js
Persistence and messaging
- Persistent records
backend/db/index.js - Email delivery
backend/services/emailService.js
Other components
- Learners and mentors
- SMTP service
Connections 26
- Learners and mentors → React application: use
README.md - React application → API client: requests
README.md - React application → Authentication state: routes with
frontend/src/App.jsx - React application → Mentor discovery: routes to
frontend/src/App.jsx - React application → Skill profiles: routes to
frontend/src/App.jsx - React application → Session booking: routes to
frontend/src/App.jsx - React application → Learning history: routes to
frontend/src/App.jsx - React application → Mentor recommendations: routes to
frontend/src/App.jsx - React application → Peer messaging: routes to
frontend/src/App.jsx - React application → Teacher verification: routes to
frontend/src/App.jsx - React application → Reviewer portal: routes to
frontend/src/App.jsx - React application → Course requests: routes to
frontend/src/App.jsx - API client → REST API service: REST requests
README.md - REST API service → Persistent records: queries
backend/server.js - REST API service → Skill lookup: uses
backend/server.js - REST API service → Mentor network: uses
backend/server.js - REST API service → Recommendation ranking: uses
backend/server.js - REST API service → Booking queue: uses
backend/server.js - REST API service → Decision tree: uses
backend/server.js - REST API service → Reputation engine: uses
backend/server.js - Reputation engine → Skill lookup: indexes reviews
backend/dsa/reputationEngine.js - Reputation engine → Recommendation ranking: ranks teachers
backend/dsa/reputationEngine.js - REST API service → Email delivery: calls
backend/server.js - Email delivery → SMTP service: sends mail
backend/services/emailService.js - REST API service → Booking queue: FIFO booking
README.md - REST API service → Mentor network: discovers paths
README.md