How shakthinami/complainhub works
ComplainHub lets students authenticate and submit campus complaints, then supports administrative triage, priority prediction, status updates and resolution. The React application routes student and administrator workflows; Spring controllers delegate to services that persist complaint and user data in Firebase, while the documented Python service predicts priority. The graph preserves authentication, user administration, complaint lifecycle and dashboard capabilities. Some frontend-to-API and backend-to-ML wiring comes from the README rather than sampled call sites; those links are shown at the documented subsystem level.
Main entry points: ComplaintService.java Complaint service · pages Student pages · admin Admin pages · App.tsx Application routes
Components 19
Web application
- Application routes
ComplainHubFr/src/App.tsx - Student pages
ComplainHubFr/src/pages - Admin pages
ComplainHubFr/src/pages/admin
Identity and users
- Auth context
ComplainHubFr/src/contexts/AuthContext.tsx - Firebase client
ComplainHubFr/src/firebaseConfig.ts - Firebase Auth
- User API
ComplainHubBackend/src/main/java/com/complainhub/controller/UserController.java - Token verification
ComplainHubBackend/src/main/java/com/complainhub/controller/AuthController.java - User service
ComplainHubBackend/src/main/java/com/complainhub/service/UserService.java
Complaint management
- Complaint API
ComplainHubBackend/src/main/java/com/complainhub/controller/ComplaintController.java - Complaint service
ComplainHubBackend/src/main/java/com/complainhub/service/ComplaintService.java - Complaint outcome
Backend services
- Firestore
- Firebase setup
ComplainHubBackend/src/main/java/com/complainhub/config/FirebaseConfig.java - Security setup
ComplainHubBackend/src/main/java/com/complainhub/config/SecurityConfig.java
Priority prediction
- Priority API
ComplainHubBackend/src/main/resources/complaint_priority_api.py - Model training
ComplainHubBackend/src/main/resources/train_complaint_priority_model.py
Other components
- Student
- Administrator
Connections 28
- Student → Application routes: uses
- Administrator → Application routes: uses
- Application routes → Student pages: routes to
- Application routes → Admin pages: routes to
- Student pages → Auth context: uses identity
- Admin pages → Auth context: uses identity
- Auth context → Firebase client: uses
- Firebase client → Firebase Auth: authenticates
- Firebase client → Firestore: reads and writes
- Student pages → Complaint API: submits and tracks
- Admin pages → Complaint API: manages complaints
- Student pages → User API: manages profile
- Admin pages → User API: manages users
- User API → User service: delegates
- Token verification → Firebase Auth: verifies token
- Token verification → User service: upserts user
- User service → Firebase Auth: creates and queries
- User service → Firestore: reads and writes
- Complaint API → Complaint service: delegates
- Complaint service → Firestore: reads and writes
- Complaint service → Priority API: requests prediction
- Priority API → Complaint service: returns priority
- Model training → Priority API: provides trained model
- Complaint service → Complaint outcome: records status and updates
- Firebase setup → Firestore: configures access
- Firebase setup → Firebase Auth: configures access
- Security setup → Complaint API: secures API
- Security setup → User API: secures API