WorkPulse WorkPulse is a role-based employee management system designed to streamline and automate organizational processes such as attendance tracking, work logging, and leave management. The system is structured around three primary roles—Admin, Manager, and Employee—each with clearly defined permissions to ensure efficient workflow management and accountability.
Features
Admin The Admin has complete control over the system and is responsible for overall management. Key capabilities include: Managing departments within the organization Creating and managing user accounts Assigning roles such as Admin, Manager, and Employee Assigning reporting managers to employees Viewing all employee data Accessing all attendance records, work logs, and leave requests
Manager The Manager oversees a specific group of employees and ensures effective team performance. Key capabilities include: Viewing only assigned team members. Monitoring employee attendance (present, late, half-day) Reviewing work logs submitted by employees Approving or rejecting leave requests submitted by team members
Employee The Employee is responsible for daily work execution and reporting. Key capabilities include: Marking attendance through check-in and check-out Automatic classification of attendance status (present, late, half-day) Creating and submitting work logs Requesting leave and tracking request status
Project Structure workpulse/ ├── server.js ├── package.json ├── .env ├── database/ │ └── schema.sql ├── middleware/ │ └── auth.js ├── routes/ │ ├── auth.js │ ├── attendance.js │ ├── worklog.js │ ├── leave.js │ ├── manager.js │ └── admin.js └── public/ ├── index.html ├── dashboard.html ├── css/ │ └── style.css └── js/ ├── app.js ├── auth.js ├── attendance.js ├── worklog.js ├── leave.js ├── manager.js └── admin.js
Installation and Setup Clone the Repository git clone https://github.com/your-username/workpulse.git cd workpulse
Install Dependencies npm install
Configure Environment Variables Create a .env file in the root directory and add the following configuration: PORT=5000 DB_HOST=localhost DB_USER=root DB_PASSWORD=yourpassword DB_NAME=workpulse JWT_SECRET=your_secret_key
Generate Password Hash (Admin Setup) To securely store the admin password, generate a bcrypt hash using: node -e "const bcrypt=require('bcrypt'); bcrypt.hash('Admin@123',10).then(console.log)" Replace the password hash in the SQL file with the generated value.
Start the Application npm run dev
Default Admin Credentials Email: admin@workpulse.com Password: Admin@123