How codewithsumit111/pbl_clubsync works
Club Management Software provides role-based student, club-lead, and admin workflows for club membership, events, attendance, achievements, logbooks, notices, and reporting. The React app selects views by authentication state and role; the Express API exposes corresponding domain routes, with MongoDB-backed models. The excerpts establish app routing, API route mounting, and authentication persistence, but do not show most view-to-service or route-to-model calls, so those links are omitted rather than inferred.
Main entry points: App.tsx App routing · index.js Express API entry · auth.js Authentication routes · Student.js Student records
Components 34
Web application
- App routing
src/app/App.tsx - Sign in
src/app/views/LoginPage.tsx - Student workspace
src/app/views/StudentDashboard.tsx - Club directory
src/app/views/ClubListView.tsx - Event attendance
src/app/views/EventAttendanceView.tsx - Attendance history
src/app/views/StudentAttendanceHistoryView.tsx - Activity logbook
src/app/views/LogbookView.tsx - Achievements
src/app/views/AchievementView.tsx - Admin dashboard
src/app/views/DashboardOverview.tsx - Student management
src/app/views/AllMembersView.tsx - CCA analytics
src/app/views/CCAAnalytics.tsx - Club member management
src/app/views/club/ClubStudentMgmt.tsx - Club CCA management
src/app/views/club/ClubCCAManagement.tsx - Club reports
src/app/views/club/ClubReports.tsx
Client state
- Authentication state
src/app/features/authSlice.ts - Club state
src/app/features/clubSlice.ts - Student state
src/app/features/studentSlice.ts
API domains
- Authentication routes
backend/src/routes/auth.js - Club routes
backend/src/routes/club.js - Attendance routes
backend/src/routes/attendance.js - Event routes
backend/src/routes/event.js - Logbook routes
backend/src/routes/logbook.js - Achievement routes
backend/src/routes/achievement.js - Student routes
backend/src/routes/student.js - Notice routes
backend/src/routes/notice.js - Upload routes
backend/src/routes/upload.js - Admin routes
backend/src/routes/admin.js - Express API entry
backend/src/index.js - JWT authentication
backend/src/middleware/auth.js
Persistence
- Student records
backend/src/models/Student.js - Club records
backend/src/models/Club.js - Admin records
backend/src/models/Admin.js - Event records
backend/src/models/Event.js
Other components
- User
Connections 30
- User → App routing: uses
- App routing → Authentication state: reads and updates
- App routing → Sign in: renders
- App routing → Student workspace: renders
- App routing → Club directory: renders
- App routing → Event attendance: renders
- App routing → Attendance history: renders
- App routing → Activity logbook: renders
- App routing → Achievements: renders
- App routing → Admin dashboard: renders
- App routing → Student management: renders
- App routing → CCA analytics: renders
- App routing → Club member management: renders
- App routing → Club CCA management: renders
- App routing → Club reports: renders
- Express API entry → Authentication routes: mounts
- Express API entry → Club routes: mounts
- Express API entry → Attendance routes: mounts
- Express API entry → Event routes: mounts
- Express API entry → Logbook routes: mounts
- Express API entry → Achievement routes: mounts
- Express API entry → Student routes: mounts
- Express API entry → Notice routes: mounts
- Express API entry → Upload routes: mounts
- Express API entry → Admin routes: mounts
- Authentication routes → JWT authentication: protects
- Authentication routes → Student records: queries
- Authentication routes → Club records: queries
- Authentication routes → Admin records: queries
- Express API entry → Student records: connects via