How jatinmourya24932/complaint-portal-2 works
This is a role-based educational-institution complaint portal: users register or sign in, students submit and track complaints, and faculty/HOD roles process assigned complaints while administrators manage users and institutional records. The React app routes users to role-specific pages and calls the Spring API; backend services implement complaint, profile, and administration operations backed by repositories. The README documents attachments, anonymous complaints, and role workflows, but sampled source does not establish every controller-to-service link or the attachment storage mechanism, so those details are represented conservatively.
Main entry points: ComplaintportalApplication.java Spring API · AppRoutes.jsx Role routes · ComplaintServiceImpl.java Complaint workflow · ComplaintService.js API services
Components 21
Web client
- React application
frontend/complaint-portal-frontend/src/App.jsx - Role routes
frontend/complaint-portal-frontend/src/routes/AppRoutes.jsx - Student pages
frontend/complaint-portal-frontend/src/pages/student/CreateComplaint.jsx - Role dashboards
frontend/complaint-portal-frontend/src/pages/Dashboard.jsx - Complaint tracking
frontend/complaint-portal-frontend/src/pages/TrackComplaint.jsx - API services
frontend/complaint-portal-frontend/src/services/ComplaintService.js
Identity and access
- Auth endpoints
Backend/complaintportal/src/main/java/com/complaintportal/user/controller/AuthController.java - User operations
Backend/complaintportal/src/main/java/com/complaintportal/user/service/impl/UserServiceImpl.java - JWT security
Backend/complaintportal/src/main/java/com/complaintportal/security/JwtFilter.java
Complaint lifecycle
- Spring API
Backend/complaintportal/src/main/java/com/complaintportal/ComplaintportalApplication.java - Complaint endpoints
Backend/complaintportal/src/main/java/com/complaintportal/complaint/controller/ComplaintController.java - Complaint workflow
Backend/complaintportal/src/main/java/com/complaintportal/complaint/service/impl/ComplaintServiceImpl.java - Tracking IDs
Backend/complaintportal/src/main/java/com/complaintportal/complaint/util/TrackingIdGenerator.java - Complaint discussion
Backend/complaintportal/src/main/java/com/complaintportal/comment/controller/CommentController.java - Complaint attachments
Backend/complaintportal/src/main/java/com/complaintportal/attachment/controller/AttachmentController.java
Profiles and administration
- Student and faculty profiles
Backend/complaintportal/src/main/java/com/complaintportal/studentprofile/service/StudentProfileService.java - Faculty assignments
Backend/complaintportal/src/main/java/com/complaintportal/facultysubject/service/FacultySubjectService.java - Institution master data
Backend/complaintportal/src/main/java/com/complaintportal/master/department/service/DepartmentService.java
Persistence and notifications
- Application database
- Email delivery
Backend/complaintportal/src/main/java/com/complaintportal/email/service/EmailServiceImpl.java
Other components
- Portal user
Connections 26
- Portal user → React application: uses
- React application → Role routes: renders
- Role routes → Student pages: routes
- Role routes → Role dashboards: routes
- Role routes → Complaint tracking: routes
- Student pages → API services: requests
- Complaint tracking → API services: requests
- Role dashboards → API services: requests
- API services → Spring API: HTTP requests
- Spring API → Auth endpoints: dispatches
- Auth endpoints → User operations: invokes
- User operations → Application database: reads/writes
- Spring API → JWT security: filters requests
- Spring API → Complaint endpoints: dispatches
- Complaint endpoints → Complaint workflow: invokes
- Complaint workflow → Application database: reads/writes
- Complaint workflow → Tracking IDs: generates IDs
- Spring API → Complaint discussion: dispatches
- Complaint discussion → Application database: reads/writes
- Spring API → Complaint attachments: dispatches
- Complaint attachments → Application database: persists metadata
- Student and faculty profiles → Application database: reads/writes
- Student and faculty profiles → Institution master data: looks up records
- Faculty assignments → Application database: reads/writes
- Faculty assignments → Institution master data: looks up records
- Complaint workflow → Email delivery: notifies