A comprehensive task management system built with HTML, CSS, JavaScript, and PHP that allows users to track daily tasks across multiple shifts with detailed reporting and analytics.
- Multi-User Support: Manage tasks for multiple operators/users
- Shift-Based Task Management: Organize tasks by shifts (A, B, C, G)
- Real-Time Progress Tracking: Visual progress bars showing completion rates
- Dashboard Analytics: View statistics and charts for performance metrics
- Task Editing Interface: Add, edit, activate/deactivate, and delete tasks
- User Management: Add and remove users from the system
- Reporting System: Submit and view historical reports
- Responsive Design: Clean, modern UI that works on various screen sizes
- Frontend: HTML5, CSS3, JavaScript (ES6+)
- Backend: PHP 7+
- Database: MySQL
- Architecture: Client-server with REST-like API
-
Clone this repository to your local server directory:
git clone https://github.com/yourusername/task-manager-pro.git cd task-manager-pro -
Set up your local server environment (XAMPP, WAMP, MAMP, etc.)
-
Import the database schema:
- Create a MySQL database named
task_db - Execute the SQL commands in
task_db.sqlto create tables and insert default data
- Create a MySQL database named
-
Configure the database connection in
api.php:$host = 'localhost'; $db = 'task_db'; $user = 'root'; // Your MySQL username $pass = ''; // Your MySQL password
-
Access the application through your web browser
The application uses three main tables:
users: Stores user informationtasks: Contains tasks organized by shiftreports: Stores submitted reports with completion statistics
- Open the application in your browser
- Select a user from the dropdown menu
- Choose a date and shift
- Complete tasks by checking the checkboxes
- Click "Submit Daily Report" to save your progress
- Navigate to the Dashboard to view analytics and historical data
- Use the Task List Editor to manage tasks for each shift
- Use the User Management modal to add/remove users
The application uses a simple PHP API with the following endpoints:
GET /api.php?action=get_users- Retrieve all usersPOST /api.php?action=add_user- Add a new userPOST /api.php?action=delete_user- Delete a userGET /api.php?action=get_tasks&shift=X- Get tasks for a specific shiftPOST /api.php?action=add_task- Add a new taskPOST /api.php?action=update_task- Update a task's textPOST /api.php?action=toggle_task- Toggle task active statusPOST /api.php?action=delete_task- Delete a taskGET /api.php?action=get_report_context&user=X&date=Y&shift=Z- Get existing report contextPOST /api.php?action=submit_report- Submit daily reportGET /api.php?action=get_logs&start=X&end=Y&user=Z- Get dashboard logs
- Modify the default tasks in the
task_db.sqlfile - Adjust color scheme by changing CSS variables in the
:rootsection - Extend the shift system by adding more shift letters in the database and UI
- The application uses basic SQL injection prevention with
real_escape_string - For production use, consider implementing prepared statements
- Update database credentials before deploying to production
- The API allows CORS from all origins; restrict this in production
See CONTRIBUTING.md for guidelines on how to contribute to this project.
See LICENSE file for licensing information.