TrackForce is a full-stack, role-based employee management platform designed for modern organizations. Built using React, Node.js, Express, and MongoDB, it provides distinct dashboards and features for Employees, HRs, and Admins to manage daily tasks, salary, and personnel efficiently.
https://github.com/Rakib-Hasan1/TrackForce-server
- Frontend: React, Tailwind CSS, React Router, React Hook Form, Framer Motion, Headless UI
- Backend: Express.js, MongoDB (native driver), JWT Auth
- State & Data: React Query (TanStack Query), Axios
- Payment: Stripe Integration (for Admin payments)
- Deployment: Vercel (back-end), Firebase (Front-end)
Role | Access Areas |
---|---|
Employee | Work Sheet, Profile, Payment History |
HR | Employee List, Verify Employees, Create Payment Requests |
Admin | Manage Users, Approve Payments, Dashboard Analytics |
- JWT-based Auth
- Protected routes by roles (Admin, HR, Employee)
- Auto logout on forbidden access with custom Forbidden screen
- View personal profile info
- Submit daily work via Work Sheet
- View past work and payment history
- View and manage all employees
- Verify employee status (✅ / ❌)
- Create salary payment requests via modal
- View total hours summary via bar chart
- Approve payment requests from HRs
- View pie chart of payment distributions
- View contact submissions
- Manage all users (Promote to HR, Remove, Change Salary)
POST /jwt
→ Generate JWT tokenGET /users
→ Get all usersPOST /peoples
→ Register new users
GET /works?email=...
→ Fetch user's work dataPOST /works
→ Add workPATCH /works/:id
→ Update workDELETE /works/:id
→ Delete workGET /works/summary
→ Total hours grouped by employee
POST /payment-requests
→ Create payment (HR)PATCH /payment-requests/:id/pay
→ Mark as paid (Admin)GET /payment-history?email=...
→ Get employee salary historyGET /payroll
→ Admin payment request list
- Clone the repository
git clone https://github.com/yourusername/trackforce.git cd trackforce