Skip to content

iAmmar7/firmfigure-client

Repository files navigation

AuditRail

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.

Features

  • 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.

Technologies

  • React React
  • Ant Design Pro Antd
  • UmiJS UmiJS
  • Node Nodejs
  • Express Express
  • MongoDB MongoDB

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:
  1. 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.
  2. 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.
  3. 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.
  4. 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.