How arvind-2906/managepro works
ManagePro is an employee-management system with Admin and Employee workflows spanning employee and department records, leave approvals, salaries and slips, notices, and reviews. Browser users authenticate, receive role-aware access to dashboards, and use the frontend to call the Express API; backend controllers enforce domain operations and persist records. The README documents MongoDB and Cloudinary integrations. Backend startup and database wiring were not sampled, so some runtime links are shown only where source or README supports them; unsampled capability branches are retained without speculative call edges.
Main entry points: app.js Express API · App.jsx Role dashboards · user.controller.js User profiles · salary.controller.js Salary API
Components 30
Frontend workflows
- Role dashboards
React-Frontend/src/App.jsx - Authentication state
React-Frontend/src/context/AuthContext.jsx - Role route guards
React-Frontend/src/components/RoleBaseRoutes.jsx - Admin workflows
React-Frontend/src/pages/AdminSummary.jsx - Employee workflows
React-Frontend/src/pages/EmployeeSummary.jsx - Leave workflows
React-Frontend/src/pages/EmployeeLeaves.jsx - Salary workflows
React-Frontend/src/pages/Salary.jsx - Review management
React-Frontend/src/pages/AdminReviews.jsx - Notice management
React-Frontend/src/pages/AdminNotices.jsx
API and access
- Express API
React-Backend/src/app.js - Auth routes
React-Backend/src/routes/auth.routes.js - JWT and admin checks
React-Backend/src/middlewares/auth.middleware.js
People and departments
- People API
React-Backend/src/controllers/employee.controller.js - User profiles
React-Backend/src/controllers/user.controller.js - Department API
React-Backend/src/controllers/department.controller.js - Employee records
React-Backend/src/models/employee.model.js - User accounts
React-Backend/src/models/user.model.js - Department records
React-Backend/src/models/department.model.js
HR operations
- Leave API
React-Backend/src/controllers/leave.controller.js - Salary API
React-Backend/src/controllers/salary.controller.js - Review API
React-Backend/src/controllers/review.controller.js - Notice API
React-Backend/src/controllers/notice.controller.js - Leave records
React-Backend/src/models/leave.model.js - Salary records
React-Backend/src/models/salary.model.js - Review records
React-Backend/src/models/review.model.js - Notices
React-Backend/src/models/notice.model.js
Persistence and services
- Cloudinary assets
React-Backend/src/utils/cloudinary.js - Salary slip PDF
React-Backend/src/utils/pdfGenerator.js - MongoDB
Other components
- Admin / Employee
Connections 47
- Admin / Employee → Role dashboards: uses
- Role dashboards → Authentication state: provides auth
React-Frontend/src/App.jsx - Role dashboards → Role route guards: routes through
React-Frontend/src/App.jsx - Role route guards → Authentication state: checks role
React-Frontend/src/components/RoleBaseRoutes.jsx - Role dashboards → Admin workflows: routes to
React-Frontend/src/App.jsx - Role dashboards → Employee workflows: routes to
React-Frontend/src/App.jsx - Admin / Employee → Authentication state: logs in
React-Frontend/src/context/AuthContext.jsx - Authentication state → Express API: verifies token
React-Frontend/src/context/AuthContext.jsx - Admin workflows → Express API: calls API
- Employee workflows → Express API: calls API
- Leave workflows → Express API: calls API
- Salary workflows → Express API: calls API
- Review management → Express API: calls API
- Notice management → Express API: calls API
- Express API → Auth routes: mounts
React-Backend/src/app.js - Express API → People API: mounts routes
React-Backend/src/app.js - Express API → User profiles: mounts routes
React-Backend/src/app.js - Express API → Department API: mounts routes
React-Backend/src/app.js - Express API → Leave API: mounts routes
React-Backend/src/app.js - Express API → Salary API: mounts routes
React-Backend/src/app.js - Express API → Review API: mounts routes
React-Backend/src/app.js - Express API → Notice API: mounts routes
React-Backend/src/app.js - Auth routes → JWT and admin checks: uses verification
React-Backend/src/routes/auth.routes.js - JWT and admin checks → User accounts: loads account
React-Backend/src/middlewares/auth.middleware.js - People API → User accounts: reads and writes
React-Backend/src/controllers/employee.controller.js - People API → Employee records: reads and writes
React-Backend/src/controllers/employee.controller.js - User profiles → User accounts: reads and writes
React-Backend/src/controllers/user.controller.js - User profiles → Employee records: reads and writes
React-Backend/src/controllers/user.controller.js - User profiles → Department records: looks up
React-Backend/src/controllers/user.controller.js - User profiles → Cloudinary assets: uploads images
React-Backend/src/controllers/user.controller.js - People API → Cloudinary assets: uploads images
React-Backend/src/controllers/employee.controller.js - Department API → Department records: manages
- Leave API → Leave records: reads and writes
React-Backend/src/controllers/leave.controller.js - Leave API → Employee records: looks up
React-Backend/src/controllers/leave.controller.js - Salary API → Salary records: reads and writes
React-Backend/src/controllers/salary.controller.js - Salary API → Employee records: looks up
React-Backend/src/controllers/salary.controller.js - Salary API → Notices: creates notice
React-Backend/src/controllers/salary.controller.js - Salary API → Salary slip PDF: builds slip
React-Backend/src/controllers/salary.controller.js - Review API → Review records: reads and writes
React-Backend/src/controllers/review.controller.js - Notice API → Notices: manages
- Employee records → MongoDB: persists in
- User accounts → MongoDB: persists in
- Department records → MongoDB: persists in
- Leave records → MongoDB: persists in
- Salary records → MongoDB: persists in
- Review records → MongoDB: persists in
- Notices → MongoDB: persists in