CHAPTER FOUR
CHAPTER FOUR
The Objectives of the Design section defines the key goals of developing a web-based task
management system. This system is designed to help individuals, teams, or organizations manage
their tasks efficiently. Below is a detailed explanation of each objective:
The primary goal of the task management system is to improve productivity by offering a user-
friendly interface. This means:
i. A clean and simple dashboard where users can view all their tasks at a glance.
ii. Easy navigation to quickly create, edit, assign, and complete tasks without unnecessary
steps.
By making the system intuitive, users can focus more on completing tasks rather than figuring
out how to use the software.
Collaboration is essential in team-based environments. The system allows multiple users to work
together by:
iii. Providing real-time updates, so team members can see changes instantly.
iv. Integrating with communication tools like Slack or email notifications to keep users
informed.
This ensures that team members stay in sync, reducing miscommunication and improving
workflow efficiency.
Manual task tracking can be inefficient, so the system automates key processes:
i. Task Assignment Automation: Tasks can be assigned to users based on predefined rules
(e.g., workload balancing, skill level).
ii. Deadline Reminders: The system sends email, SMS, or push notifications to remind
users of upcoming deadlines.
iii. Recurring Tasks: Users can schedule recurring tasks (daily, weekly, monthly).
iv. Priority-Based Alerts: Important or overdue tasks are highlighted to ensure they are
addressed quickly.
By automating these processes, the system reduces human errors and ensures tasks are completed
on time.
ii. Role-Based Access Control (RBAC): Ensures users only access relevant data based on
their roles.
iii. Cloud-Based Storage: Allows users to access tasks from any device (desktop, tablet, or
mobile).
iv. Multi-Factor Authentication (MFA): Adds an extra layer of security when logging in.
The Control Centre serves as the primary dashboard of the web-based task management system.
It acts as the central hub where users can access all key functionalities quickly and efficiently.
Below is a detailed explanation of its key components:
The task overview section gives users a snapshot of their tasks to help them stay organized. It
typically includes:
i. Upcoming Tasks: Displays tasks that are due soon to ensure timely completion.
ii. Completed Tasks: Keeps track of finished tasks for reference and performance tracking.
iii. Pending Tasks: Highlights tasks that have not been started or are overdue.
This section helps users prioritize their work and ensures that nothing important is overlooked.
This section allows users to manage their personal information and system preferences. It may
include:
i. Profile Information: Name, email, profile picture, role (admin, team member, etc.).
ii. Preferences: Customizable settings for notifications, themes, and task display.
iii. Security Settings: Password changes, multi-factor authentication (MFA), and login
history.
The system provides real-time notifications to keep users informed. This can include:
iii. Mentions and Comments: Notifies users when someone tags them in a task discussion.
iv. System Updates: Alerts about new features or maintenance schedules.
Notifications help users stay on top of their tasks and improve communication within the team.
A core feature of the Control Centre is the ability to quickly create and modify tasks. This
ensures:
i. One-click task creation with fields for title, description, due date, and priority.
ii. Easy editing of task details (e.g., updating deadlines, adding attachments).
By making task management effortless, users can focus on completing tasks rather than
managing them.
The Control Centre enables teamwork and communication by integrating collaboration tools,
such as:
i. Commenting System: Users can discuss tasks, share updates, and ask questions within
the task interface.
ii. Task Assignments: Admins or managers can assign tasks to specific team members.
iii. File Attachments: Users can upload relevant documents, images, or reports.
iv. Integration with Communication Tools: Supports Slack, Microsoft Teams, or email
notifications for better collaboration.
Fig 4.1: Control Centre/ Main Menu Diagram
The submenus break down the different functional areas of the web-based task management
system. These subsystems help organize and streamline various operations, making the system
more efficient and user-friendly. Below is a detailed explanation of each submenu:
1. Task Management
i. Create Tasks: Users can define a new task by adding a title, description, priority level,
due date, and assigned team members.
ii. Edit Tasks: Modify task details, update deadlines, or change assignments.
iii. Assign Tasks: Managers or team leads can allocate tasks to specific users or groups.
iv. Delete Tasks: Remove completed or unnecessary tasks to keep the workspace clean.
v. Task Categorization: Users can categorize tasks (e.g., "To-Do," "In Progress,"
"Completed") for better organization.
This submenu ensures seamless task management, helping users stay on top of their work.
2. User Management
This subsystem is essential for admin control and user role management. It typically includes:
ii. User Registration & Authentication: Ensures secure login and access control.
iii. Account Settings: Allows users to update their profile information, change passwords,
and configure notification preferences.
This ensures that only authorized users have access to specific features, enhancing security and
efficiency.
This submenu provides insights into task progress and team productivity. Key features include:
i. Task Completion Statistics: Tracks the number of tasks completed on time versus
overdue.
ii. User Performance Tracking: Measures how efficiently team members complete tasks.
iii. Project Progress Reports: Shows how close a team is to meeting project deadlines.
iv. Time Tracking: Analyzes the time spent on tasks to improve efficiency.
4. Notifications System
The notification system keeps users updated on important task-related events. It includes:
ii. Assignment Alerts: Notifies users when they are assigned a new task.
iii. Mentions & Comments: Alerts users when they are tagged in discussions.
iv. Overdue Task Warnings: Reminds users of unfinished tasks past their deadline.
v. Email & Push Notifications: Provides real-time alerts via multiple channels.
The System Specifications section defines the technical and functional requirements necessary to
develop and implement the web-based task management system. These specifications ensure that
the system is efficient, scalable, secure, and meets user needs.
Key Areas of System Specifications
These describe the features and functionalities of the task management system, including:
i. Task Management: Users can create, assign, edit, and delete tasks.
ii. User Roles and Permissions: Admins manage users, set roles, and assign tasks.
iv. Collaboration Features: Team members can comment, tag others, and attach files.
Defines the programming languages and frameworks used to build the system’s core logic.
Examples include:
iii. RESTful API – Enables communication between the frontend and backend.
Defines the technologies used to create the user interface (UI). Examples:
ii. HTML5, CSS3, JavaScript (with Tailwind CSS or Bootstrap) – For UI styling and
layout.
ii. On-Premise Hosting: A local server setup if cloud deployment is not preferred.
iii. CI/CD Pipelines: GitHub Actions or Jenkins for automated testing and deployment.
3. Security Specifications
Ensures that the system is protected from cyber threats and data breaches:
ii. Role-Based Access Control (RBAC): Ensures only authorized users can access certain
features.
i. Fast Load Times: Optimized code and database queries to ensure quick response times.
ii. Scalability: The system should handle an increasing number of users and tasks.
iv. Offline Mode (if needed): Allows users to work on tasks without an internet connection
and sync later.
Database design for a web-based task management system involves creating a structured
framework for storing, retrieving, and managing data efficiently. This includes defining data
requirements, modeling the data, and choosing the right database management system.
Key Aspects of Database Design:
i. Data Requirements: Identify the data that needs to be stored, considering how the data
will be used, who will use it, and for what purposes. Consider both current and potential
future requirements.
ii. Data Modeling: Define data objects and their relationships to each other. This ensures
the data is organized in a way that supports efficient storage and retrieval.
iii. Database Schema: Outline the structure of the data model, including tables, columns,
and relationships. The schema provides a framework for how data is organized.
Example Schema:
text
tasks
- task_name (text)
- due_date (date)
- status (text)
users
- username (text)
- email (text)
text
tasks
and
text
users
. The
text
tasks
text
users
table links users to their respective tasks through a foreign key relationship.
Establishing Relationships:
i. One-to-Many Relationship: A single user can be assigned multiple tasks, but each task
is assigned to only one user.
ii. Many-to-Many Relationship: If tasks can be assigned to multiple users, a junction table
may be necessary to manage these relationships effectively.
Best Practices:
due_date
and
text
status
i. Data Types: Choosing the right data types is essential for optimizing storage and
retrieval. For instance, using appropriate data types like
text
VARCHAR
text
INT
for numerical values can significantly reduce storage requirements and improve performance1.
ii. Indexing Strategies: Creating indexes on frequently queried columns, such as task status
or due dates, can drastically reduce query execution time.
Input Formats:
i. User Interface Input: Users input data through web forms, text fields, dropdown menus,
and date pickers. This includes task descriptions, due dates, priorities, assigned users, and
other relevant details.
ii. File Uploads: The system may accept file uploads of various formats (e.g., documents,
images) to attach to tasks.
iii. API Input: Data can be inputted via API calls, often in formats like JSON or XML,
allowing integration with other systems.
iv. Email Integration: Tasks can be created or updated by importing information directly
from emails.
Output Formats:
i. User Interface Display: The application displays tasks in various formats, such as lists,
Kanban boards, calendars, and Gantt charts. Information is presented via formatted text,
tables, and graphical elements.
ii. Reports and Analytics: The system generates reports in formats like PDF, CSV, or
Excel, providing insights into task progress, resource allocation, and team performance.
iii. API Output: Data can be provided through APIs in formats like JSON or XML for other
applications.
iv. Notifications: Notifications about task updates, deadlines, and assignments can be sent
via email or in-app alerts.
v. Data Exchange Formats: The system supports various data exchange formats such as
CSV, EDI, JSON, PDF, TIFF, XLSX, and XML for interoperability.
4.4.3 Algorithm
ii. Priority Adjustment over Time: Increase the priority of tasks as time passes. For
example, update all lower-priority tasks after each request or after every X requests. This
ensures that all tasks will eventually be executed. Operating systems often employ
variations of this strategy.
iii. Completely Fair Scheduler (CFS): Explore the Completely Fair Scheduler (CFS),
which is used in Linux for CPU scheduling. Although designed for CPU scheduling,
many of its concepts can be applied to task scheduling.
iv. Batch Processing: Batch jobs and yield to the main thread periodically to prevent long
tasks. A common deadline is 50 milliseconds:
text
async function runJobs(jobQueue, deadline=50) {
let lastYield = performance.now();
for (const job of jobQueue) {
// Run the job:
job();
// If it's been longer than the deadline, yield to the main thread:
if (performance.now() - lastYield > deadline) {
await yieldToMain();
lastYield = performance.now();
v. AI-Powered Scheduling: Use AI-powered algorithms to automate the entire task
management process, which considers factors like task priority, deadlines, dependencies,
and team member availability to create optimized schedules.
vi. Human-Assisted Sorting: If tasks need to be sorted by humans, present tasks in pairs
and ask the user to choose the more important task. Repeat until all tasks are sorted.
A Data Dictionary provides a structured description of the database tables, fields, data types,
constraints, and relationships used in the Task Management System. Below is the data dictionary
defining the key tables and attributes for this application.
1. Users Table
4. Notifications Table
ii. Users ↔ Task_Comments: One user can comment on multiple tasks (one-to-many).
iii. Tasks ↔ Task_Comments: One task can have multiple comments (one-to-many).
iv. Users ↔ Notifications: One user can receive multiple notifications (one-to-many).
vi. Users ↔ Activity Log: One user can generate multiple activity logs (one-to-many).
This Data Dictionary ensures that the database is well-structured, efficient, and scalable
for a web-based task management system. It provides the foundation for task creation,
assignment, tracking, collaboration, notifications, and analytics in the system.
4.5 System Flowchart
System Implementation refers to the actual deployment, testing, and integration of the
web-based task management system. This phase ensures that the developed system is fully
functional, meets user requirements, and operates efficiently in a real-world environment.
The web-based task management system is built using frontend and backend technologies,
including:
The system database is designed to store users, tasks, task assignments, comments, and
notifications. This involves:
ii. Configuring CRUD operations (Create, Read, Update, Delete) for task management.
3. System Integration
iii. User Acceptance Testing (UAT): Verifying the system meets business requirements.
5. Deployment
Once testing is successful, the system is deployed to a web server (AWS, Heroku, or a dedicated
server), making it accessible to users.
Post-deployment, the system is monitored and updated based on user feedback and performance
evaluation.
The Proposed System Requirements define the hardware and software specifications necessary
to develop, deploy, and run the web-based task management system efficiently. These
requirements ensure that the system operates smoothly, meets user expectations, and scales
effectively.
The hardware requirements depend on whether the system is hosted on a cloud server or self-
hosted on a local server.
For End Users (Client-Side)
Users accessing the task management system via a web browser need:
iii. Storage: 500MB of free disk space for browser cache and local data
The software requirements specify the tools, technologies, and frameworks needed for
development and deployment.
iii. RESTful API or GraphQL – For communication between frontend and backend
iii. Continuous Integration (CI/CD): GitHub Actions or Jenkins for automatic deployment
The Program Development section outlines the steps, tools, and methodologies used to build the
web-based task management system. It includes the choice of programming environment,
development process, and best practices to ensure a scalable, secure, and efficient application.
The programming environment consists of development tools, frameworks, and libraries used for
coding, testing, and deploying the system.
1. Frontend Development (User Interface & Experience)
iii. Styling Tools: Tailwind CSS, Bootstrap, or Material UI (for responsive design)
iii. Authentication: JSON Web Tokens (JWT) or OAuth for secure login
ii. Version Control: Git & GitHub/GitLab (for managing project versions)
iii. Package Manager: npm (for Node.js), pip (for Python), or Composer (for PHP)
ii. CI/CD (Continuous Integration & Deployment): GitHub Actions, Jenkins, or Docker
Development Process & Best Practices
The system will follow Agile Development, allowing for continuous improvement and feedback.
ii. Build backend APIs for data processing, authentication, and task logic.
iv. Security Testing: Protect against SQL injection, XSS, and CSRF attacks.
This section outlines how users and administrators will be trained to use the web-based task
management system effectively.
The Test Plan defines the scope, approach, resources, and schedule for testing the system before
deployment.
1. Objectives of Testing
2. Testing Methodologies
iii. User Acceptance Testing (UAT): Collecting feedback from end users.
3. Test Environment
ii. Software: Web browsers (Chrome, Firefox), database (MySQL, PostgreSQL), and API
testing tools (Postman).
Test Data is the sample input used during testing to verify system responses.
This section compares the expected behavior of the system with the actual outcome after testing.
3. Security Testing
Despite its functionality, the system has some limitations that could be improved in future
updates.
1. Internet Dependency
2. Scalability Constraints
ii. Large enterprises may need database optimization for handling heavy workloads.
i. The system does not yet provide AI-generated task recommendations based on user
activity.
When discussing System Security in the context of a task management system, it's essential to
consider several key aspects to ensure the system is protected from potential threats. Here's a
breakdown of how to approach system security:
i. User Roles and Permissions: Implement role-based access control (RBAC) to limit what
actions users can perform based on their roles.
ii. Authentication Methods: Use secure authentication methods like OAuth or JWT to
verify user identities.
2. Data Encryption
i. Data in Transit: Use SSL/TLS encryption to secure data transmitted between the client
and server.
ii. Data at Rest: Encrypt stored data to protect it from unauthorized access.
3. Network Security
i. Firewalls: Configure firewalls to restrict incoming and outgoing network traffic based on
predetermined security rules.
ii. Intrusion Detection Systems (IDS): Implement IDS to monitor network traffic for signs
of unauthorized access or malicious activity.
ii. Patch Management: Apply patches promptly to address known security vulnerabilities.
i. System Monitoring: Use tools like Nagios or HP to monitor system performance and
detect potential security issues.
ii. Incident Response Plan: Develop a plan to quickly respond to security incidents,
minimizing downtime and data loss.
i. Security Awareness Training: Provide regular training to users on security best practices
and the importance of their role in maintaining system security.
4.7.5 Training
Training is crucial for ensuring that users understand how to effectively use the task management
system. Key aspects of training include:
i. User Training Sessions: Conduct workshops or online sessions to teach users about the
system's features and best practices.
ii. Hands-On Practice: Provide opportunities for users to practice using the system under
guidance.
iii. Training Materials: Offer comprehensive guides, tutorials, and FAQs to support ongoing
learning.
4.7.6 Documentation
Documentation serves as a reference for users and developers alike, detailing how the system
works and how to troubleshoot issues:
i. User Manual: Create a user-friendly manual that explains system features and usage.
iii. FAQs and Troubleshooting Guides: Develop resources to help users resolve common
issues.
System Conversion involves transitioning from an existing system to the new task management
system. This process requires careful planning to minimize disruptions.
Changeover Procedures outline the steps needed to transition from the old system to the new
one:
i. Data Migration: Plan how to transfer existing data from the old system to the new one,
ensuring data integrity and consistency.
ii. System Downtime: Schedule downtime to perform the transition, ideally during periods
of low usage.
iii. Testing and Validation: Conduct thorough testing after the transition to ensure all
features are working as expected.
1. Pre-Conversion Preparation:
2. Data Migration:
3. System Deployment:
4. Post-Conversion Support:
CHAPTER FIVE
SUMMARY, CONCLUSION AND RECOMMENDATION
5.1 Summary
This section provides a brief overview of the entire project, summarizing the development of the
web-based task management system. It highlights:
ii. The key functionalities: Task creation, user roles, notifications, reports, and security
features.
iii. The technologies used: Web-based framework, database management system, and
security measures.
iv. The testing and evaluation process: Ensuring performance, security, and user-friendliness.
5.2 Conclusion
The web-based task management system successfully achieves its goal of organizing tasks,
improving teamwork, and automating workflow processes. The system:
However, while the system is functional, future improvements could address scalability, mobile
app integration, and AI-driven task automation.
5.3 Recommendation
To maximize the effectiveness and usability of the system, the following recommendations are
suggested:
REFERENCE
Al-Jedaiah, M., & Al-Johani, H. (2022). Web-based task management system for improving
group work collaboration. ResearchGate. https://www.researchgate.net/publication/365377832
Bhat, S., & Kumar, A. (2021). Web-based student task management system. ResearchGate.
https://www.researchgate.net/publication/362296035
Chavan, A. (2020). Online task management system (OTMS). IRE Journals, 4(6), 56-62.
https://www.irejournals.com/formatedpaper/1700856.pdf
Das, P., & Ghosh, R. (2022). Serverless web application for task management. International
Journal of Research Publication and Reviews, 4(12), 2301-2310.
https://ijrpr.com/uploads/V4ISSUE12/IJRPR20782.pdf
Desai, P., & Patel, M. (2021). Cloud-based task management system for educational institutions.
International Research Journal of Modern Engineering and Technology Science, 3(5), 75-83.
https://www.irjmets.com/uploadedfiles/paper//issue_5_may_2022/24632/final/
fin_irjmets1653683893.pdf
Gupta, R., & Sharma, S. (2020). Mobile application for enhanced task management system.
Journal of Computational Design and Robotics, 8(2), 112-120.
https://jcdronline.org/admin/Uploads/Files/6319aeba1eb1c9.04368802.pdf
Jyothi, S., & Parkavi, M. (2019). A study on task management system. Semantic Scholar.
https://www.semanticscholar.org/paper/A-study-on-task-management-system-Jyothi-Parkavi/
4bf9a69e2b3449f182c55b8321570c6392d6ddca
Liu, X., & Wang, Y. (2019). Service-oriented architecture: A revolution for comprehensive web-
based project management software. arXiv. https://arxiv.org/abs/1207.4966
van der Aalst, W. (2016). Process mining: Data science in action (2nd ed.). Springer.
https://en.wikipedia.org/wiki/Process_mining
Saini, R., & Mehta, K. (2021). Web-based application for task tracking and workflow
automation. International Journal of Computer Science Trends and Technology, 9(3), 34-42.
O’Reilly, T. (2018). Web 2.0 principles and best practices for task management applications.
O’Reilly Media.
Tan, W., & Lee, K. (2022). Artificial intelligence in task management software: A case study of
machine learning-driven applications. International Journal of Artificial Intelligence
Applications, 10(2), 21-37.
SOURCE CODE
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
body {
background-color: #f4f4f4;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
.container {
background: white;
padding: 20px;
border-radius: 10px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
width: 300px;
text-align: center;
h2 {
margin-bottom: 20px;
input {
width: 80%;
padding: 10px;
margin-bottom: 10px;
border-radius: 5px;
button {
padding: 10px;
width: 100%;
border: none;
background: #28a745;
color: white;
border-radius: 5px;
cursor: pointer;
button:hover {
background: #218838;
ul {
list-style: none;
padding: 0;
li {
background: #f9f9f9;
margin: 5px 0;
padding: 10px;
border-radius: 5px;
display: flex;
justify-content: space-between;
}
.delete {
background: #dc3545;
border: none;
color: white;
border-radius: 5px;
cursor: pointer;
</style>
</head>
<body>
<div class="container">
<h2>Task Manager</h2>
<ul id="taskList"></ul>
</div>
<script>
function addTask() {
var taskInput = document.getElementById("taskInput");
var li = document.createElement("li");
document.getElementById("taskList").appendChild(li);
taskInput.value = "";
function removeTask(button) {
button.parentElement.remove();
</script>
</body>
</html>