This Application has been made for personal project purpose. Aimed at enhancing operational efficiency and accountability, this application serves as a central hub for auditors, area managers, and administrators to identify, report, and manage faults and issues within the DB application, Deployed on Vercel.
- Three types of users; auditor, area managers, and an admin.
- Different authorization for different user roles using express middleware.
- Different user interface for each type of user according to his/her role.
- Graphical UI for the overall company stats with different filters.
- Initiate or fill issues form as an auditor.
- Feedback form for managers.
- Multiple image upload feature with image optimization on the server.
- Tabular view of all the issues/initiatives/feedback with all sorts of filters.
- Cron job to update the report status.
- Reminder view for station managers.
- Download each report into CSV format.
- Admin panel to add or remove different users.
- Monitor all users' recent activity as an admin.
Frontend: The frontend of the DB Station Audit Application provides a user-friendly interface, facilitating seamless interaction between the application's features and its users. Built with React and Ant Design, the frontend is structured to offer a responsive and intuitive user experience across various user roles. Key Functionalities:
- User Role Management: Allows querying of users by their roles, supporting the dynamic display of content and features based on the user's permissions.
- Issue Reporting: Facilitates the reporting of issues by auditors, including form submission and image upload, ensuring a comprehensive audit trail.
- Authentication: Supports user signup and login, enabling secure access to the application.
- User Management: Provides an interface for adding new users, encompassing input validation and user feedback through alerts and messages. Examples of Frontend Code:
- Fetching Users by Role: Utilizes axios to make GET requests to
/api/user/roles
, passing the user role as a query parameter. This function exemplifies how the application tailors its interface and functionality to the user's role. - Raising Issues: Demonstrates the process of submitting an issue report, including form data and file uploads. The use of FormData object and axios for POST requests showcases the handling of multipart/form-data for image uploads.
- Authentication: Shows the signup and login functionalities, using axios to send user credentials to the backend. This highlights the application's security measures in managing user access.
- Adding New Users: A React component
AddForm
with a form for adding new users, including validation and submission handling. This illustrates the frontend's capability to manage user inputs and communicate with the backend for data processing.