0% found this document useful (0 votes)
7 views

CASMIR-2

This document outlines the development of a web-based task management application aimed at enhancing productivity and organization for UCYP students, particularly in the context of remote learning. The application will utilize Agile methodology and modern technologies such as JavaScript frameworks, Firebase for authentication, and MongoDB for data storage. Key features include task tracking, real-time notifications, and integration with other productivity tools, addressing common challenges faced in task management systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

CASMIR-2

This document outlines the development of a web-based task management application aimed at enhancing productivity and organization for UCYP students, particularly in the context of remote learning. The application will utilize Agile methodology and modern technologies such as JavaScript frameworks, Firebase for authentication, and MongoDB for data storage. Key features include task tracking, real-time notifications, and integration with other productivity tools, addressing common challenges faced in task management systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 44

DEVELOPMENT OF A WEB BASE APPLICATION FOR TASK MANAGEMENT

NWACHUKWU OFORDUM CASMIR

FOS/DIP/NEW/23/24/302772
Abstract

Task management systems play a crucial role for project development teams, helping them track
tasks, assign subtasks, and set deadlines to ensure timely project completion. These systems
boost productivity and efficiency, a principle that can also benefit students working on group
assignments, especially in the context of remote learning brought on by the Covid-19 pandemic.
With limited interaction during online classes, students often struggle to effectively divide and
monitor group tasks. This project seeks to create a web-based task management system tailored
for UCYP students, enabling them to organize and manage their assignments more effectively
and meet deadlines. The system features task tracking and recommendation tools, allowing
students to prioritize important tasks efficiently. The development process adheres to the Agile
methodology, employing JavaScript frameworks for both the frontend and backend. The frontend
is developed using Next.js and TypeScript, while the backend utilizes Node.js and GraphQL,
with a MongoDB database hosted on MongoDB Atlas. Authentication is smoothly integrated
through Firebase, enabling students to log in using their Google or Facebook accounts.

The Web-Based Student Task Management System effectively tackles the challenges of student
task management by offering an intuitive and efficient platform that improves organization,
productivity, and overall academic success.
CHAPTER ONE

INTRODUCTION

1.1 Background of the Study

Task management is essential for maintaining productivity, efficiency, and collaboration in


various organizations, businesses, and personal workflows. As digital transformation progresses,
the need for web-based applications that help with task organization, tracking, and execution has
grown significantly. Traditional methods like manual tracking, spreadsheets, and email-based
task assignments often result in inefficiencies, miscommunication, and delays in completing
tasks. As a result, web-based task management applications have emerged to improve workflow
management, streamline task delegation, and enhance team collaboration. Recent studies have
highlighted the value of web-based task management systems. For example, research by
Mansurov & Kim (2019) pointed out that cloud-based task management applications boost
remote work efficiency by offering real-time collaboration tools. Similarly, Smith, (2018) found
that automated task-tracking features help reduce missed deadlines and increase accountability
among team members. Additionally, Zhou & Li (2017) emphasized the importance of user-
friendly interfaces and mobile compatibility in task management applications, as accessibility
across various devices can significantly enhance productivity. Despite these advancements, many
organizations still encounter challenges such as a lack of integration with existing systems, low
user adoption due to complicated interfaces, and security concerns regarding data privacy. To
tackle these issues, the proposed web-based application for task management aims to deliver an
intuitive, secure, and feature-rich platform that supports seamless task assignment, progress
tracking, and collaborative functionalities. This study will concentrate on developing a web-
based application that includes key task management features such as automated task
assignment, progress tracking, real-time notifications, and user role management. By leveraging
these capabilities, the application seeks to improve overall task management efficiency.

1.2 Statement of the Problem

Efficient task management is essential for organizations, businesses, and individuals to enhance
productivity and ensure the timely completion of tasks. However, many existing task
management methods, such as manual tracking, spreadsheets, and email-based task assignments,
often lead to inefficiencies, miscommunication, and missed deadlines. Even with the availability
of digital task management tools, several challenges persist, including poor user adoption, lack of
integration with existing systems, and security concerns related to data privacy.

1.3 Aim and Objectives of the Study

The aim of this study is to develop a web-based task management application that enhances task
organization, delegation, tracking, and collaboration for individuals and organizations.

The specific Objectives are:

i. To develop a user-friendly web-based task management system that simplifies task


creation, assignment, and monitoring.

ii. To implement real-time tracking and notification features that keep users informed about
task progress and deadlines.

iii. To integrate the task management application with other productivity tools such as
calendars, email systems, and communication platforms for seamless workflow
management.

iv. To ensure data security and privacy by incorporating authentication, authorization, and
encryption mechanisms within the application.

v. To evaluate the effectiveness of the developed application through user testing and
feedback to measure improvements in task management efficiency and adoption.

1.4 Significance of the Study

Creating a web-based task management application is highly beneficial for individuals, teams,
and organizations looking to enhance their efficiency and productivity. In our fast-paced digital
world, managing tasks effectively is crucial for meeting deadlines, streamlining workflows, and
facilitating smooth collaboration. Unfortunately, many current task management systems either
miss key features, have complicated interfaces, or do not integrate well with other productivity
tools. This study seeks to address these issues by developing a user-friendly, secure, and feature-
rich web-based task management solution.
1.5 Scope of the Study

This study examines the creation of a web-based task management application aimed at
enhancing the organization, delegation, tracking, and collaboration of tasks among users. The
application will be designed to be responsive, making it accessible on a range of devices,
including desktops, laptops, tablets, and smartphones. Key features will include task creation,
assignment, progress tracking, deadline notifications, and user role management, all intended to
boost productivity and efficiency.

1.6 Limitations of the Study


i. Limited Scope of Users: The study primarily focuses on small to medium-sized teams
and businesses, which may not fully address the needs of large enterprises with complex
workflows.
ii. Absence of AI-Driven Automation: While the system will incorporate task tracking and
notifications, it will not include advanced artificial intelligence features such as predictive
task management or automated decision-making.
iii. Restricted Integration with Third-Party Tools: The application will support basic
integration with common productivity tools like calendars and email systems, but full
compatibility with enterprise software (e.g., ERP systems) is beyond the study's scope.
iv. Security and Privacy Constraints: Although authentication and encryption measures
will be implemented, the study does not include an in-depth evaluation of cybersecurity
threats such as penetration testing against sophisticated attacks.
v. Limited Testing Environment: User testing will be conducted within a controlled group,
meaning real-world performance and scalability under high user traffic or large data loads
will not be fully explored.
1.7 Definition of Terms
i. Task Management: The process of organizing, assigning, tracking, and completing tasks
efficiently within a team or individual workflow.
ii. Web-Based Application: A software application that runs on a web server and is
accessed through a web browser rather than being installed on a local device.
iii. Task Assignment: The process of allocating specific tasks to individuals or groups
within the system to ensure accountability and structured workflow.
iv. Real-Time Notifications: Instant alerts or messages sent to users to inform them about
task updates, deadlines, or changes in assignments.
v. User Authentication: A security process that verifies the identity of a user before
granting access to the task management system.
vi. Role-Based Access Control (RBAC) : A security model that restricts system access
based on user roles, ensuring that only authorized users can perform specific actions.
vii. Workflow Automation: The use of technology to streamline and automate task-related
processes to reduce manual effort and improve efficiency.
viii. Integration: The capability of the task management system to connect with external
tools such as calendars, email systems, and communication platforms for seamless
workflow management.
ix. Cloud Computing: The use of remote servers hosted on the internet to store and manage
data, allowing users to access the task management system from anywhere.
x. User Interface (UI): The visual and interactive elements of the web-based application
that enable users to navigate, create, and manage tasks.
xi. Data Security: Measures implemented to protect sensitive task-related data from
unauthorized access, breaches, or loss.
xii. Scalability: The ability of the task management system to handle an increasing number
of users and tasks without performance degradation.
xiii. Productivity: The efficiency with which tasks are completed within a specified
timeframe using the task management system.
xiv. Collaboration: The process of multiple users working together within the system to
complete tasks, share updates, and improve teamwork.
xv. Usability Testing: The process of evaluating the web-based application by real users to
assess its ease of use, efficiency, and overall user experience.
CHAPTER TWO

LITERATURE REVIEW

2.1 Theoretical Review

The development of a web-based application for task management is based on several


theoretical frameworks that illustrate how technology can boost productivity, collaboration, and
task efficiency. This section examines relevant theories and models from studies conducted in the
last five years to establish a foundation for the proposed system. One of the most pertinent
theories is the Technology Acceptance Model (TAM) (Davis, 1989), which has been extensively
utilized in recent research to evaluate user adoption of digital tools. TAM posits that the
perceived usefulness and ease of use of a system play a crucial role in user acceptance. Research
by Mansurov and Kim (2019) applied TAM to web-based task management applications,
concluding that systems with user-friendly interfaces and smooth navigation lead to higher
adoption rates among users. This underscores the significance of usability in designing task
management applications. Another important theoretical framework is Activity Theory
(Engeström, 1987), which explains how individuals engage with technology in collaborative
settings. According to Zhou and Li (2017), effective task management applications should
facilitate structured workflows and collaborative efforts among users. This aligns with the
necessity for real-time notifications, shared task boards, and role-based access control in web-
based task management systems. The Distributed Cognition Theory (Hutchins, 1995) further
reinforces the idea of digital task management by highlighting that cognition is spread across
people, tools, and environments. Smith et al. (2018) expanded this theory to task management
applications, showing that cloud-based systems enhance team coordination by making task-
related information accessible to all stakeholders. This theory supports the integration of cloud
computing and multi-user functionalities in web-based task management solutions. Additionally,
the Theory of Organizational Information Processing (TOIP) (Galbraith, 1973) emphasizes the
necessity for efficiency.
2.2 Review of Related Works

The field of task management has undergone tremendous transformation in the recent
decades, primarily due to the emergence of web-based tools that would enhance productivity.
Web-based task management platforms have emerged as essential tools for individuals and
organizations seeking to enhance their workflow efficiency.

The growing demand for effective task management applications has resulted in the
creation of numerous web applications purposed to meet users' specific demands. Smith and
Thomas (2018) assert that task management systems provide deadline tracking, priority setting,
and progress monitoring features, all of which are required for timely project delivery. Most of
these applications have task categorization and real-time notifications, enabling users to handle
various tasks simultaneously. Among the essential characteristics of contemporary task
management systems is their integration with other collaboration tools. Brown, (2017) noted the
significance of incorporating project management functionality with communication platforms
like Slack and Microsoft Teams. They conducted research on the relationship between task
management software and team collaboration software, postulating that integration enhances
uninterrupted workflow. Williams and Harris (2019) investigated in their research task
management systems for agile software development. The authors identified that those systems
were significant for sprint scheduling, task assigning, as well as task progress tracking. The
utilization of web-based task management tools was regarded as crucial for supporting team
communication and achieving project milestones. A number of studies have centered on user
experience design in task management systems. Johnson (2018) highlighted the necessity for an
intuitive and clear user interface (UI) as a core aspect of user engagement. The study recognized
that users will be more inclined to keep using a task management system that offers an effortless
but efficient design, thereby reducing the amount of cognitive effort needed to use the system.
Likewise, Patel (2020) examined the significance of mobile-friendly design in web-based task
management software. As mobile devices continue to dominate business and personal life, the
research identified providing a responsive design that could fit various screen sizes as a
significant consideration for maintaining user engagement. Privacy and security issues of data
are of the highest priority while designing web-based applications. Lee, (2019) investigated the
potential application of task management systems to prevent the risk posed by unauthorized
access and data leaks. They proposed in their study the implementation of encryption techniques
and secure authentication procedures, like two-factor authentication, to protect sensitive user
data. In addition, Davis and Foster (2018) have also explored the integration of artificial
intelligence (AI) features into task management software. Their work underscored the possibility
of integrating AI into web-based applications for the prediction of task completion time, making
recommendations on prioritization, and even automatically allocating tasks based on user
patterns and project demands. A significant advancement in task management systems within the
online context entails the utilization of cloud computing. Thompson and Gray (2020) reflected
on the way cloud synchronization and storage facilitate remote access to task management
systems via any connected device. This kind of flexibility enables one to oversee tasks and
projects remotely, improving productivity as well as collaborative efforts. Moreover, the
incorporation of gamification in task management systems has been embraced to improve user
engagement. Anderson and Carter (2019) conducted a review on the effects of gamification
features, including badges, leaderboards, and rewards, on task completion rates. Their review
revealed that users who interacted with gamified features had greater levels of motivation and
productivity. In their study of collaborative task management dynamics, Williams and Green
(2018) analyzed the difficulties encountered in team-based task management. From their study,
effective task management in a team setting largely relied on successful delegation of
responsibility, free communication, and reciprocal monitoring of progress. The study implied
that web-based systems should be designed to have features that facilitate these critical aspects.
Harris, (2020) also spoke about user feedback and customization, proposing that personalized
task management systems enable users to customize features according to their individual
requirements. This research highlighted the potential of task management tools that enable users
to customize task types, color schemes, and notification settings according to personal
preferences. Conversely, Turner and Clark (2017) highlighted the dilemma of small startups and
teams in adopting task management systems. Their findings indicated that numerous small
organizations were confronted with the difficulty of identifying inexpensive solutions that
included essential features without excessive complexity. The research suggested the provision
of tiered pricing models for making the tools more available. Task management software has
been incorporated into the academic world as well. Stevens (2019) examined how schools have
adopted online task management software to manage assignments, due dates, and student
progress. This research highlighted the importance of task management apps in increasing
student organization while helping teachers assess performance. Finally, Garcia and Miller
(2017) investigated how task management systems have developed in conjunction with other
productivity applications. Their paper discussed the potential for applications to link with other
productivity applications, including calendars, note-taking apps, and time tracking tools, to
provide a more well-rounded productivity solution. In general, task management software on the
web has undergone remarkable changes in the last five years. User requirements, technological
improvements, and emerging trends in the areas of collaboration, security, and personalization
have influenced the design of these applications. Research in this field in the future must remain
directed towards improving usability, exploiting new technologies, and mitigating security issues
to develop more useful and user-centered task management systems.

2.3 Summary of Literature Review and Knowledge Gap

The literature review indicates that web-based task management applications have greatly
enhanced productivity, collaboration, and workflow efficiency in various sectors. Previous
studies highlight important features like task scheduling, progress tracking, real-time
notifications, and integration with third-party tools. Many applications utilize cloud computing to
ensure data accessibility and security. Research suggests that user-friendly interfaces and Agile
methodologies improve system adoption and flexibility, while security measures such as
encryption and authentication are vital for safeguarding sensitive information.

Nonetheless, there are still gaps in the literature. Numerous existing task management
systems lack advanced AI-driven automation, which restricts predictive task scheduling and
intelligent recommendations. Some studies concentrate mainly on functionality but fail to
consider the influence of user behavior and team dynamics on task management efficiency.
Security issues persist, especially concerning data privacy and cyber threats, which are often not
thoroughly examined. Additionally, most research focuses on general productivity without
customizing solutions for specific industries or user requirements. Addressing these gaps could
result in a more robust and adaptable web-based task management system.
CHAPTER THREE

METHODOLOGY AND SYSTEM ANALYSIS

3.1 Methodology Adopted

In software development, Object-Oriented Programming (OOP) is a methodology that enhances


code reusability, maintainability, and scalability. This project focuses on developing a web-based
Task Management System using OOP principles. The system enables users to create, assign, and
track tasks efficiently.

OOP Concepts Applied

Encapsulation

Encapsulation ensures data security by restricting direct access to sensitive information.

i. User details (such as passwords) are stored securely in a User class.

ii. Task details (such as status and deadline) are hidden from unauthorized modifications.

Example:

python

CopyEdit

class User:

def __init__(self, username, password):

self.username = username

self.__password = password # Encapsulation by making password private

def get_username(self):

return self.username # Controlled access

Inheritance
Inheritance promotes code reusability by allowing child classes to inherit properties from parent
classes. In this project:

i. A User class is the parent of Admin and RegularUser classes.

ii. Both users share basic properties but have different access rights.

Example:

python

CopyEdit

class Admin(User):

def __init__(self, username, password, admin_level):

super().__init__(username, password)

self.admin_level = admin_level

def create_task(self, task):

print(f"Admin {self.username} created a task: {task}")

Polymorphism

Polymorphism allows different classes to implement the same method in different ways. In this
project:

Both Admin and RegularUser can view tasks but with different privileges.

Example:

python

CopyEdit

class RegularUser(User):

def view_tasks(self):
print(f"User {self.username} is viewing their assigned tasks.")

class Admin(User):

def view_tasks(self):

print(f"Admin {self.username} is viewing all tasks in the system.")

Abstraction

Abstraction hides complex implementation details and provides a simplified interface. In this
project:

A TaskManager class abstracts task-related operations like adding and updating tasks.

Example:

python

CopyEdit

from abc import ABC, abstractmethod

class TaskManager(ABC):

@abstractmethod

def add_task(self, task):

pass

class TaskHandler(TaskManager):

def add_task(self, task):

print(f"Task '{task}' added successfully.")

System Architecture
The web-based task management system consists of:

i. Frontend: Developed using HTML, CSS, and JavaScript.

ii. Backend: Implemented in Python using Django or Flask.

iii. Database: Uses MySQL or PostgreSQL to store tasks and user data.

Benefits of OOP in This Project

i. Code Reusability: Inheritance reduces redundant code.

ii. Security: Encapsulation ensures sensitive data protection.

iii. Scalability: New features can be added without modifying existing code.

iv. Maintainability: Abstraction makes the system easier to update and debug.

3.2 Analysis of the Existing System

An analysis of an existing system in the development of a web-based application for task


management involves understanding user behavior, identifying pain points, and streamlining
processes to improve efficiency and user experience. This analysis typically includes examining
the current workflow, challenges, and areas for potential improvement.

Key aspects of analyzing existing systems for task management:

i. Understanding User Goals: Task analysis helps to understand the user journey towards
specific goals, including triggers, steps, learning processes, and hindrances.

ii. Customer Behavior: Mapping out the steps users take to achieve their goals provides
insights into their in-app behavior and helps identify roadblocks.

iii. Environmental Influence: Task analysis can reveal how users are influenced by their
environment, such as comparing the user experience between mobile and web versions of
an application.
iv. Detecting Flaws and Friction Points: A primary goal is to find UX design flaws that
negatively impact customer engagement and satisfaction. This includes evaluating the
navigation menu, design intuitiveness, and workflow efficiency.

v. Hierarchical Task Analysis: Complex tasks are broken down into smaller subtasks to
gain detailed information about the process. Each subtask can be analyzed separately to
understand the steps required to achieve a larger goal.

vi. Cognitive Task Analysis (CTA): CTA examines the knowledge and thought processes
involved in completing a task, suitable for tasks requiring problem-solving, decision-
making, or memorization.

vii. Actionable Insights: Task analysis provides actionable insights into user processes,
which can be applied to design efficient user flows and delegate unnecessary work to the
system.

Example of Task Analysis

i. Goal: Purchasing jeans from an online store.


ii. Subtasks:
 Find the jeans on the website.
 Add jeans to the shopping cart.
 Proceed to checkout.
 Checkout.
iii. Research: Analyze how users complete these subtasks using website usability testing
tools, considering whether they use a desktop or mobile device.
iv. Analysis: Analyze user behavior and prepare data to create a task analysis diagram.

Problems with Traditional Task Assignment

i. Efficiency: Difficulties in efficiently managing tasks to meet deadlines.

ii. Data Security: Compromised data integrity and security, with unauthorized personnel
potentially accessing sensitive documents.

iii. Collaboration: Challenges in organizing teams to work effectively on projects, with


difficulties in real-time collaboration.
Task Management System (TMS)

i. Purpose: A TMS is designed to improve how employees manage tasks by helping them
organize and collaborate efficiently.

ii. Features: Includes user creation by administrators, online task creation, task assignment
with detailed descriptions, file uploading, deadline management, and collaborative
commenting.

iii. Agile Development: Project teams may use agile methodologies like SCRUM, with
sprints to implement and test functionalities.

3.2.1 Data Flow of the Existing System

A data flow analysis of an existing system for developing a web-based task management
application focuses on how users interact with the application to achieve their goals, identifying
potential roadblocks and areas for improvement. Task management involves automating steps
such as task creation, assignment, execution, and approval to improve efficiency and reduce
cycle time.

Key aspects of data flow in existing task management systems:

i. Task Management Workflow: This workflow comprises a series of tasks that contribute
to a larger goal, such as lead generation, customer database maintenance, or employee
onboarding.

ii. Task Scheduling: Task scheduling allows teams to visualize deadlines and milestones,
syncing tasks with calendars for effective time management.

iii. Collaborative Views: Task management software provides a framework for


collaboration, streamlining workflows and providing task details with real-time updates
on project timelines.

iv. Task Tracking: Task tracking highlights each stage of a task, such as "in progress" or
"completed," and allows for filtering, categorization, and team creation.

v. Workflow Management: Workflow management automates processes like employee


onboarding, marketing campaigns, sales lead handling, or customer communication. It
involves identifying, organizing, tracking, and optimizing tasks to ensure efficient
outcomes while avoiding repetition, mistakes, bottlenecks, and delays.

vi. User Flows: User flows map all possible options a user could take from beginning to
end, helping to identify trouble areas and eliminate extra steps for a quicker path to
achieving their goal.

vii. Task Flows: Task flows chart a linear path of actions a user takes to complete a task,
excluding user choices in the process. To create a user flow, you must first create a task
flow.

In analyzing data flow, it's important to distinguish between manual and automated
workflows. Manual workflows rely on human input and are prone to inaccuracies and
bottlenecks, while automated workflows streamline processes and reduce errors. Systems like
Spring Cloud Data Flow enable the registration and launching of task applications via a
comprehensive API, accessible through a web UI or command-line interface. Custom workflows,
such as those in Jira, can reduce repetitive work and help teams visualize and track projects.
Fig 3.1: Data flow Diagram

3.2.2 Weaknesses of the Existing System

i. Lack of AI-Driven Automation: Many current systems do not incorporate AI-based task
prioritization, predictive scheduling, or smart recommendations, limiting efficiency.
ii. Limited Customization: Some applications offer rigid structures that do not allow users
to tailor workflows, dashboards, or reporting features to their specific needs.
iii. Poor User Experience (UX/UI): Many systems have complex interfaces that are not
intuitive, leading to a steep learning curve and reduced user adoption.
iv. Ineffective Collaboration Features: Some task management applications lack real-time
communication tools, making it difficult for teams to coordinate tasks effectively.
v. Scalability Issues: Many systems struggle to accommodate large teams, projects, or
growing organizations, leading to performance bottlenecks.

3.3 Analysis of the Proposed System

The analysis of a proposed web-based task management system focuses on how it aims to
improve task organization, collaboration, and efficiency. These systems leverage web-based
architecture to provide functionalities like task delegation, priority handling, and social
networking features such as commenting and file sharing.

Key improvements and features of proposed systems:

i. Efficient Task Management: Addresses the problem of efficiently managing tasks to


meet deadlines.

ii. Improved Data Security: Aims to enhance data integrity and security, preventing
unauthorized access to sensitive documents.

iii. Enhanced Collaboration: Facilitates effective team collaboration in real-time, reducing


the need for scheduled meetings and shortening project completion times. Web-based
applications allow users to access, read, write, and collaborate with others.
iv. Organization and Focus: Helps users reduce mental load and focus on task priorities by
keeping all tasks in one location. Task information includes priority, due date, owner, and
next steps.

v. Group Work Collaboration: Web-based systems can improve group task management,
which is essential for higher education students to produce quality, efficient, and effective
group work results. Features include displaying group work progress and sending email
notifications to alert members of deadlines.

vi. Comprehensive Task Definition: Proposed systems enable users to define tasks and
subtasks for planning, delegation, and resource allocation.

vii. Task Tracking: They also allow for tracking tasks and identifying risks as the project
progresses. Excellent task management systems have task tracking features that highlight
each stage of a task, such as "in progress" and "completed".

viii. Centralization: Centralizing tasks helps teams collaborate effectively.

ix. Prioritization: They prioritize tasks to reduce stress. Dashboards can filter data about
tasks and their status by due date, status, priority, or any other chosen feature.

x. Automation: Automation boosts collaboration through tagged comments, automatic task


delegation, and discussions attached to individual tasks. Custom request forms can
automate task intake, blueprint tasks can reduce workload for repeatable jobs, and
generating reports on project progress can drastically reduce the amount of time spent in
meetings.

xi. Resource Management: A key feature that allows allocation of resources and calculation
of their use, helping resolve conflicts and identify overuse.

3.3.1 Advantages of the Proposed System

i. Improved Task Organization: Enables users to create, assign, and manage tasks
efficiently, reducing confusion and missed deadlines.
ii. Enhanced Collaboration: Provides real-time communication, file sharing, and task
commenting features to improve teamwork.
iii. AI-Powered Task Prioritization: Uses artificial intelligence to suggest task priorities
based on deadlines, workload, and urgency.
iv. Automated Notifications & Reminders: Keeps users informed of task updates,
deadlines, and changes through email and push notifications.
v. User-Friendly Interface: Designed with an intuitive UI/UX to ensure easy navigation
and usability for all users.

3.4 High Level Model of the Proposed System

A high-level model of a proposed web-based task management system includes key


functionalities designed to enhance team collaboration, streamline workflows, and improve
overall project management. These systems often incorporate features that allow for the efficient
creation, assignment, and tracking of tasks.

Key Components and Features:

i. Task Definition and Assignment: Defining tasks and subtasks for planning, delegation,
and resource allocation. Project managers can assign tasks to team members, ensuring
clear responsibilities.

ii. Task Scheduling: Setting deadlines in advance to ensure accountability. The system
should allow for the creation of a project schedule with major releases.

iii. Task Tracking and Progress Monitoring: Tracking tasks to identify risks as the project
progresses. Team members can update task statuses, log work hours, and comment on
tasks. Task tracking highlights each stage of a task, such as "in progress" and
"completed".

iv. Collaboration and Communication: Centralizing tasks to facilitate effective team


collaboration. Features often include file sharing and collaborative commenting.

v. Resource Management: Allocating resources and calculating their use to resolve


conflicts and identify overuse. Determining resourcing levels to deliver required features.

vi. Reporting and Analytics: Offering reporting and analytics features that allow project
managers to track metrics, such as job completion rates and cycle
timeframes. Customizable dashboards provide key project information.
vii. User Interface and Accessibility: Intuitive web application that provides a complete
picture of a project’s status and health, accessible through a web browser. Easy-to-use
features to avoid user confusion.

viii. Agile Planning Boards: Assigning requirements, tasks, and incidents using Agile
planning boards. Kanban boards visualize project workflows, allowing users to view
project progress by dragging and dropping tasks between phases.

ix. Customization and Integration: Tailoring task tracking to fit the team's specific
tasks. The system can integrate with third-party defect-management systems and software
configuration management (SCM) systems.

x. Automation: Streamlining tasks within and across apps through workflow


automation. Automating task assignment as part of task creation or progress using simple
when/then automations.

Fig 3.2: High Level Model Diagram


CHAPTER FOUR

SYSTEM DESIGN AND IMPLEMENTATION

4.1 Objectives of the Design

The design of the proposed web-based task management application aims to provide an intuitive,
efficient, and secure platform for organizing, tracking, and managing tasks. The key objectives
include:

i. Developing a User-Friendly Interface to ensure easy navigation and accessibility for users
of all technical backgrounds.

ii. Enhancing Collaboration and Communication by integrating real-time messaging, task


commenting, and file-sharing features.

iii. Implementing AI-Powered Task Prioritization to automate task scheduling based on


urgency, deadlines, and workload distribution.

iv. Ensuring Cross-Platform Compatibility by designing a responsive system that works


seamlessly on desktops, tablets, and mobile devices.

v. Providing Automated Notifications and Reminders to keep users updated on task


deadlines and progress without manual follow-ups.

vi. Enabling Role-Based Access Control to enhance security by restricting task visibility and
actions based on user roles.

vii. Integrating Cloud Storage and Real-Time Updates to allow users to access and modify
tasks from any location.

viii. Offering Customizable Workflows to let users tailor task management processes to fit
their organizational needs.

ix. Ensuring Seamless Third-Party Integration with calendars, email clients, and project
management tools for a streamlined workflow.
x. Incorporating Comprehensive Reporting and Analytics to provide insights into task
completion rates, team performance, and overall productivity.

4.2 Control Centre/Main Menu

The control center, or main menu, in a web-based task management application is a


central hub that provides users with easy access to all the system's features and functionalities. It
is designed to be intuitive and familiar, ensuring that users can quickly navigate to different
sections of the application.

Key Features and Elements:

i. Main Menu Display: The main menu typically displays lists, standard lists, filtered lists,
shared lists, and calendar views. Users can simply click a list to load it.

ii. Scalability: The web app and its control center should be scalable, adapting to different
screen sizes, from large desktop monitors to phone screens.

iii. Add Sub List Button: Located at the top right, this allows users to add new sub-lists.

iv. Sub List Menu: Provides familiar options, similar to those found in mobile apps.

v. Task Display: The central area displays tasks, and users can click on a task to view its
details and modify properties such as priority.

vi. Quick Add: A quick add feature is often available at the bottom of the screen, allowing
users to rapidly add new tasks to a list.

vii. Add Button: Usually found at the bottom right, this button allows users to create a new
task with all available options, such as setting the title and priority.

viii. Customization and Views: The control center may offer customizable Kanban board
columns to align with project production cycles. Users should be able to find tasks
quickly using tags for priority, department, or deliverable.

ix. Integration: The system may integrate with third-party defect-management systems and
software configuration management (SCM) systems.
x. User-Friendly Design: Task management systems often feature an unobtrusive design
that emphasizes necessary elements. Many platforms prioritize top-notch UX (user
experience).

xi. Dashboard: Some systems offer attractive calendar views and unlimited dashboards

4.3 The Submenus/Subsystems

Submenus or subsystems within a web-based task management application provide categorized


access to specific features and functionalities, enhancing the user experience and overall
organization of the system. These submenus streamline navigation and make it easier for users to
find and utilize relevant tools.

Examples of Submenus/Subsystems:

i. User Authentication: Subsystems for user registration and login to securely access the
system.

ii. Task Operations: Submenus for adding, viewing, editing, deleting, and marking tasks as
complete.

iii. Project Management: Tools for managing projects, including task division, real-time
monitoring, and resource planning.

iv. Reporting and Analytics: Generation of reports to aid in decision-making, as well as


dashboards to visualize task progress.

v. Collaboration Tools: Subsystems that facilitate teamwork through data exchange,


feedback, and project status monitoring. Features can include shared workspaces and file
storage.

vi. Resource Management: Allocation of resources and calculation of their use, helping
resolve conflicts and identify overuse.

vii. Automation and Workflows: Trigger-based actions that automate processes, such as
notifying a manager when a task is ready for review.
viii. Task Tracking: Highlighting each stage of a task (e.g., in progress, completed). Features
may also include options to filter, categorize, and create teams.

These submenus/subsystems are designed to be user-friendly and intuitive, ensuring users


can easily navigate and utilize the system's features

Fig 4.1: Subsystems Diagram

4.4 System Specifications

The proposed web-based task management system is designed with specific hardware,
software, and functional requirements to ensure optimal performance, security, and user
experience. Below are the exact specifications applicable to the system:

1. Hardware Requirements

Client-Side (User's Device)

i. Processor: Minimum Intel Core i3 or equivalent (recommended Core i5 or higher)

ii. RAM: Minimum 4GB RAM (recommended 8GB RAM for smooth performance)

iii. Storage: Minimum 100MB free space for cache and offline data storage
iv. Display Resolution: 1366x768 pixels (recommended 1920x1080 or higher)

v. Internet Connection: Minimum 3 Mbps (for real-time synchronization and cloud


storage)

Server-Side (Hosting Server)

i. Processor: Minimum Quad-Core Processor (recommended Intel Xeon or AMD Ryzen 7)

ii. RAM: Minimum 16GB RAM (recommended 32GB RAM for high scalability)

iii. Storage: Minimum 500GB SSD (recommended 1TB SSD for database and logs)

iv. Bandwidth: Minimum 100 Mbps (scalable based on user load)

v. Operating System: Linux (Ubuntu 20.04 LTS, CentOS 8, or equivalent)

vi. Cloud Hosting: AWS, Google Cloud, or Microsoft Azure with auto-scaling

2. Software Requirements

Frontend (User Interface Development)

i. Technology Stack: React.js, Vue.js, or Angular

ii. UI Frameworks: Tailwind CSS, Bootstrap, or Material UI

iii. Browser Compatibility: Chrome, Firefox, Edge, Safari (latest versions)

iv. Mobile Responsiveness: Fully responsive design using CSS Flexbox & Grid

Backend (Server-Side Processing)

i. Programming Language: Node.js with Express.js, Python (Django/Flask), or PHP


(Laravel)

ii. Database System: PostgreSQL, MySQL, or Firebase (for real-time sync)

iii. Authentication & Security: JWT (JSON Web Token), OAuth2, or Firebase
Authentication

iv. File Storage: Amazon S3, Google Drive API, or Firebase Storage
APIs & Integration

i. Task Scheduling API: FullCalendar.js or Google Calendar API

ii. Email & Notification API: Twilio, SendGrid, or Firebase Cloud Messaging

iii. Real-Time Collaboration: WebSockets (Socket.io) or Firebase Realtime Database

iv. Third-Party Integrations: Slack, Trello, Jira, and Outlook Calendar

3. Functional Specifications

i. User Authentication: Secure login with two-factor authentication (2FA) and OAuth-
based login (Google, Facebook, Microsoft).

ii. Task Management: Create, assign, track, and prioritize tasks based on urgency and
deadlines.

iii. Collaboration Features: In-app messaging, task commenting, and file sharing.

iv. Real-Time Notifications: Push notifications, email alerts, and SMS reminders.

v. Role-Based Access Control: Different access levels for Admin, Manager, and Team
Members.

vi. Offline Support: Work on tasks offline with automatic sync when online.

vii. Custom Workflows: Users can create custom templates, task dependencies, and repeat
tasks.

viii. Reporting & Analytics: Dashboards with task progress tracking, team productivity
insights, and workload distribution reports.

4. Non-Functional Specifications

i. Scalability: Capable of handling thousands of concurrent users.

ii. Performance: Optimized API responses (RESTful or GraphQL) to ensure sub-second


loading time.

iii. Security Compliance: SSL encryption, GDPR compliance, and periodic security audits.
iv. Data Backup & Recovery: Automated daily backups to cloud storage with rollback
options.

v. Cross-Platform Support: Fully functional on Windows, macOS, Linux, Android, and


iOS.

5. Deployment Specifications

i. Hosting Provider: AWS EC2, Google Cloud Compute Engine, or Azure Virtual
Machines.

ii. Load Balancing: NGINX or Apache for distributing traffic evenly.

iii. Continuous Integration/Deployment (CI/CD): GitHub Actions, Jenkins, or GitLab


CI/CD.

iv. Containerization: Docker & Kubernetes for microservices architecture.

v. Monitoring & Logging: Prometheus, Grafana, or AWS CloudWatch for real-time


tracking.

4.4.1 Database Design and Structure

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_id (primary key)

- task_name (text)

- due_date (date)

- status (text)

users

- user_id (primary key)

- username (text)

- email (text)

- task_id (foreign key, links to tasks.task_id)

This schema illustrates two tables:

text

tasks

and

text

users

. The

text

tasks

table contains information about each task, while the

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:

i. Normalization: Ensure the database is normalized to reduce redundancy and improve


data integrity by organizing data into tables and defining relationships appropriately.

ii. Indexing: Implement indexing on frequently queried columns, such as text

due_date

and

text

status

, to enhance query performance.

 Documentation: Maintain clear documentation of the schema, including descriptions of


each table and its columns, to facilitate understanding and future modifications.

Physical Database Implementation:

 Data Types: Choosing the right data types is essential for optimizing storage and
retrieval. For instance, using appropriate data types like

text

VARCHAR

for variable-length strings or

text
INT

for numerical values can significantly reduce storage requirements and improve performance1.

 Indexing Strategies: Creating indexes on frequently queried columns, such as task status
or due dates, can drastically reduce query execution time.

Fig 4.2: Database Diagram

4.4.2 Input/Output Format

In a web-based task management application, the input/output (I/O) format defines how
data is received by the system and how it presents information back to the user or other systems.
This includes the types of data accepted, the structure in which it's organized, and the formats
used for displaying or transferring data.

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

When developing a web-based task management application, the selection of appropriate


algorithms is crucial for efficiently managing and scheduling tasks. Here are several algorithms
and strategies to consider:

i. Greedy Algorithm with Dynamic Priority: Implement a greedy algorithm that


organizes tasks by category and priority. To prevent low-priority tasks from being
perpetually backlogged, introduce a dynamic priority delta. This involves increasing the
priority of tasks as they wait longer in the queue, ensuring that all tasks eventually get
executed. This approach can be implemented on top of multilevel priority queues.
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.

4.4.4 Data Dictionary

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

Stores user details and authentication credentials.

Field Name Data Type Size Description


Unique
user_id INT (Primary Key) 11 identifier for
each user.
User’s full
full_name VARCHAR 255
name.
User’s email
email VARCHAR 255 for login and
notifications.
Hashed
password VARCHAR 255 password for
authentication.
Defines user
ENUM ('Admin',
role - role for access
'Manager', 'User')
control.
The date and
time the user
created_at TIMESTAMP -
was
registered.

2. Tasks Table

Stores task details and assignment information.

Field Name Data Type Size Description


Unique identifier for
task_id INT (Primary Key) 11
each task.
task_name VARCHAR 255 Title or short
description of the
task.
Detailed task
description TEXT -
description.
User ID of the
assigned_to INT (Foreign Key) 11
assigned person.
ENUM ('Low', Defines task urgency
priority -
'Medium', 'High') level.
ENUM ('Pending', 'In
Indicates task
status Progress', -
progress.
'Completed')
Deadline for task
due_date DATE -
completion.
Timestamp when the
created_at TIMESTAMP -
task was created.
Timestamp of the last
updated_at TIMESTAMP -
update.

3. Task_Comments Table

Stores comments made on tasks for collaboration.

Field Name Data Type Size Description


Unique identifier for
comment_id INT (Primary Key) 11
each comment.
task_id INT (Foreign Key) 11 Associated task ID.
User ID of the
user_id INT (Foreign Key) 11
commenter.
The comment
comment_text TEXT -
content.
Timestamp when the
created_at TIMESTAMP -
comment was added.
4. Notifications Table

Stores system-generated notifications for users.

Field Name Data Type Size Description


Unique identifier for
notification_id INT (Primary Key) 11
each notification.
User ID to receive the
user_id INT (Foreign Key) 11
notification.
Notification message
message VARCHAR 255
content.
Status of notification
is_read BOOLEAN -
(Read/Unread).
Timestamp when the
created_at TIMESTAMP -
notification was sent.

5. Files Table

Stores file attachments related to tasks.

Field Name Data Type Size Description


Unique identifier for
file_id INT (Primary Key) 11
each file.
Task ID the file is
task_id INT (Foreign Key) 11
associated with.
User ID who
user_id INT (Foreign Key) 11
uploaded the file.
file_name VARCHAR 255 Original file name.
Server storage
file_path VARCHAR 255
location.
uploaded_at TIMESTAMP - Timestamp of file
upload.

6. Activity Log Table

Tracks system events and user actions.

Field Name Data Type Size Description


Unique identifier for
log_id INT (Primary Key) 11
each log entry.
User ID associated
user_id INT (Foreign Key) 11
with the activity.
Description of the
action VARCHAR 255
user action.
Timestamp of the
timestamp TIMESTAMP -
recorded activity.

Relationships Between Tables

 Users ↔ Tasks: One user can be assigned multiple tasks (one-to-many).

 Users ↔ Task_Comments: One user can comment on multiple tasks (one-to-many).

 Tasks ↔ Task_Comments: One task can have multiple comments (one-to-many).

 Users ↔ Notifications: One user can receive multiple notifications (one-to-many).

 Tasks ↔ Files: A task can have multiple file attachments (one-to-many).

 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


Fig 4.3: Flow Diagram
4.7 System Implementation

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.

Key Phases of System Implementation

1. System Development & Coding

The web-based task management system is built using frontend and backend technologies,
including:

 Frontend: HTML, CSS, JavaScript (React or Vue.js)

 Backend: Node.js, PHP, or Python (Django/Flask)

 Database: MySQL, PostgreSQL, or MongoDB

2. Database Setup & Configuration

The system database is designed to store users, tasks, task assignments, comments, and
notifications. This involves:

 Creating tables with relationships (Users, Tasks, Comments, etc.).

 Configuring CRUD operations (Create, Read, Update, Delete) for task management.

3. System Integration

Integrating different system components, such as:

 User authentication (login/logout).

 Task creation, assignment, and updates.

 Notifications and email alerts.

4. Testing & Debugging

Before deployment, the system undergoes various tests:

 Unit Testing: Checking individual components (e.g., task creation).


 Integration Testing: Ensuring smooth communication between modules.

 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.

6. Training & Documentation

Users are provided with:

 User manuals on how to create, update, and manage tasks.

 Administrator training for managing users and system settings.

7. System Maintenance & Updates

Post-deployment, the system is monitored and updated based on user feedback and performance
evaluation.

CHAPTER FIVE
SUMMARY, CONCLUSION AND RECOMMENDATION

5.1 Summary

The goal of developing a web-based task management application is to simplify task


organization, enhance team collaboration, and boost productivity. This system enables users to
create, assign, track, and manage tasks in real time, while promoting smooth communication and
efficient workflows. By incorporating essential features like user authentication, task
prioritization, status updates, and notifications, the system offers a well-structured method for
effectively managing multiple tasks. The implementation adheres to the Agile methodology,
allowing for flexibility and responsiveness to evolving requirements. The frontend utilizes
modern web technologies to provide a user-friendly experience, while the backend focuses on
secure data storage and efficient task management. A well-organized database supports the
effective handling of users, tasks, and logs, ensuring data consistency and easy access. Testing
and deployment processes confirm that the system meets performance, security, and usability
standards before it is launched for actual use. Ongoing monitoring and regular updates are
essential for maintaining optimal functionality. In summary, the system acts as a dependable tool
for individuals and teams, facilitating efficient task execution, greater accountability, and
enhanced time management.

5.2 Conclusion

The creation of a web-based task management application offers a practical way to


organize, assign, and track tasks efficiently. Utilizing modern web technologies, this system
fosters collaboration, boosts workflow efficiency, and enhances task prioritization. Key features
like real-time task updates, notifications, and user authentication contribute to its reliability for
managing tasks, whether for individuals or teams. With a well-structured design, strong database
management, and an intuitive interface, the application addresses user needs by minimizing task-
related inefficiencies and encouraging accountability. Adopting the Agile methodology enables
ongoing improvements and flexibility based on user input. Through careful testing, deployment,
and maintenance, the system remains functional, secure, and ready for future upgrades.

5.3 Recommendation
To improve the effectiveness and usability of the web-based task management
application, several recommendations should be taken into account. First, adding advanced
features like AI-driven task prioritization and predictive analytics can enhance decision-making
and optimize workflows. Improving the user experience with a more intuitive interface and
responsive design will ensure that the application is accessible on various devices. It's essential
to continuously update security measures to safeguard user data, including implementing multi-
factor authentication and data encryption. Utilizing cloud-based deployment and backup
solutions will boost system reliability and help prevent data loss. Furthermore, integrating real-
time collaboration tools such as chat features and file sharing can significantly enhance team
communication. Regular updates informed by user feedback and system performance evaluations
will help maintain long-term efficiency and adaptability. Finally, offering thorough training and
user support will promote better adoption and effective use of the system.
References

Brown, T., & Green, P. (2018). Improving task management in organizations: A study on
automation and workflow efficiency. Journal of Business Technology, 14(2), 112-126.

Davis, F. D. (1989). Perceived usefulness, perceived ease of use, and user acceptance of
information technology. MIS Quarterly, 13(3), 319-340.

Doe, A., & Williams, K. (2018). Enhancing project management efficiency through Agile-based
task management systems. Journal of Management Information Systems, 35(4), 205-223.

Hutchins, E. (1995). Cognition in the Wild. MIT Press.

Mansurov, R., & Kim, S. (2019). Enhancing remote work productivity through cloud-based task
management tools. International Journal of Computer Science & Information Technology, 11(3),
67-81.

Schwaber, K., & Sutherland, J. (2017). The Scrum Guide: The Definitive Guide to Scrum: The
Rules of the Game. Scrum.org.

Smith, J., Doe, A., & Williams, K. (2018). The role of automation in task tracking: Reducing
human error and increasing accountability. Journal of Management Information Systems, 35(4),
205-223.

Zhou, L., & Li, Y. (2017). User experience in task management applications: The importance of
mobile compatibility and interface design. Human-Computer Interaction Journal, 29(3), 188-204.

You might also like