To Do List
To Do List
BY SAI SHARAN .A
(DEPT NO: 20-UCA-016)
APRIL: 2023
DECLARATION
I, SAI SHARAN .A (20-UCA-016) hereby declare that the project report entitled
“To-Do List” is done by me under the guidance of PROF. S.VIJAYA
at LOYOLACOLLEGE (Autonomous), Chennai-34 is being submitted in partial
fulfilment of the requirements for the award of the degree in BACHELOR OF
COMPUTER APPLICATIONS
This is to certify that the project work entitled “TO-DO LIST” is being
submitted to Loyola College (Autonomous), Chennai-600034 by SAI SHARAN
.A (20-UCA-016) for the partial fulfillment for the award of degree of Bachelor
of Computer Applications is a Bonafide record of work carried out by him, under
my guidance and supervision.
The To-Do List project is an innovative task management tool that aims to
provide a comprehensive solution to the problem of managing daily tasks. This
paper provides an overview of the system's main features and functionalities,
which are designed to help users organize and manage their tasks more
efficiently.
The user manual outlines the login and registration process, enabling users to
create an account and access the system. The main tasks page displays a range of
buttons that allow users to navigate between different task categories, including
incomplete, complete, today, and this month tasks. This feature helps users
manage their tasks more effectively and prioritize their workload.
The add task feature enables users to add a new task to their list, specifying the
task's title, description, due date, priority, and status. The edit task feature allows
users to modify an existing task's details, such as the title, description, due date,
priority, and status. The view task feature enables users to view a task's details,
including its description, due date, priority, and status, by clicking on the task's
title in the main tasks list.
One of the most useful features of the To-Do List project is the task status feature,
which allows users to update a task's progress from "in complete" to "completed"
This feature helps users keep track of their progress and prioritize their workload,
improving their productivity and reducing stress.
Overall, the To-Do List project is a user-friendly and effective tool that can help
individuals manage their time more efficiently, improve their productivity, and
reduce stress. The project's comprehensive features, including its responsive
design and intuitive interface, make it an ideal solution for anyone looking to
streamline their task management process.
ACKNOWLEDGEMENT
First of all, I would like to thank the Almighty God without whom this task would
have not been achieved. I express my sincere and profound gratitude to our
college principal of Loyola College Rev. Dr A. THOMAS S.J. for his
encouragement and support to do my project in our computer Lab.
I take this opportunity to thank all the staff members and the computer science
department who rendered their help directly and indirectly to finish my project in
time
Table of Contents
The To-Do list application is an essential tool that can help individuals from all walks of life
to prioritize and manage their tasks efficiently. It is particularly valuable for people who are
busy and often have many things on their plate, such as students, professionals, and
entrepreneurs.
One of the primary benefits of the To-Do list application is that it enables users to create, edit,
and delete tasks easily. This means that they can keep track of all their responsibilities and
quickly make changes as needed. The application also allows users to set due dates for their
tasks, which helps them to prioritize their work and ensure that they meet deadlines.
Another advantage of the To-Do list application is that it allows users to track their progress.
This feature is essential because it helps individuals to monitor their work and ensure that they
are making progress towards their goals. By tracking their progress, users can identify any
areas where they are falling behind and make adjustments as needed.
Moreover, the To-Do list application is a centralized solution. This feature is particularly
valuable for people. With the ability to access their tasks anytime, users can stay on top of their
responsibilities and avoid missing deadlines.
The user-friendly interface of the To-Do list application is another significant advantage. It
makes it easy for individuals who may not have experience with task management software to
use the application. The ability to switch between different task categories, view all incomplete,
complete, today, monthly and yearly tasks in one location, and easily navigate the application
makes it a straightforward solution for managing tasks.
In summary, the To-Do list application is an invaluable tool that helps individuals manage their
tasks and time more efficiently. Its ability to enable users to create, edit, and delete tasks, set
due dates, track progress, access tasks from any location, and its user-friendly interface make
it a suitable solution for personal and professional use.
In Chapter 2 of the study, the researchers identified a problem with the test structure, which is
not aligned with the ideal model derived from applying similitude laws to the prototype online
websites. The deviations in the test structure and their potential impact on the correlation
between the performance of the test structure and the prototype are outlined in detail. The
researchers aim to address this issue and improve the performance of the test structure by
aligning it with the ideal model derived from similitude laws.
1
In Chapter 3, the researchers discussed the system design, which encompasses various
subcategories such as Architectural Design, Database Design, and GUI Design. The design
process starts with the Data Flow Diagram (DFD), which provides an overview of the system's
flow, illustrating how data moves between different components of the system. The Entity
Relationship Diagrams (ER) depict the relationships between different entities in the system,
showing how data is related to each other and how it is stored in the database. Finally, the
Graphical User Interface (GUI) model provides a visual representation of the system's user
interface, showcasing how users interact with the system's functionalities.
In Chapter 4, the researchers described the project and its scope. They provided an overview
of the system's functionalities and discussed the features that will be implemented.
Chapter 5 discussed the system development process, which included the Language/Tool and
Pseudo Code used in developing the system. The researchers discussed the programming
languages and software tools used in developing the system and provided sample code snippets
to illustrate how the system was developed.
In Chapter 6, the researchers discussed the System Testing and Validation process, which
included Unit Testing, Integration Testing, Acceptance Testing, and Validation. They
described how the testing was performed and discussed the results of the testing process.
Chapter 7 provided a User Manual for the system, which included instructions for users to
operate the system. The researchers discussed the system's functionalities and provided step-
by-step instructions on how to use the system.
In Chapter 8, the researchers discussed the System Deployment process, which included the
deployment of the system and its installation on the server.
In Chapter 9, the researchers provided a conclusion to the study. They summarized the report
and evaluated the project's success.
Chapter 10 discussed the Future Enhancement possibilities for the system. The researchers
discussed how the system could be improved and provided recommendations for future
development.
The Bibliography, Data Dictionary, Sample Screenshot, and Sample Code are included as
appendices to the report.
2
CHAPTER 2
SYSTEM ANALYSIS
The passage highlights the problem that the To-Do list application seeks to address. The
modern-day lifestyle is characterized by a fast-paced and demanding routine, making it
challenging for individuals to keep track of their tasks and manage their time effectively. It is
in this context that the To-Do list application comes in handy.
The application provides a centralized platform for managing and tracking tasks, allowing users
to stay organized and focused. The application's user-friendly interface ensures that users can
navigate through the application with ease and can add, edit, and delete tasks without any
hassle. Additionally, the application is accessible on multiple devices, ensuring that users can
manage their tasks from anywhere, anytime, and on any device.
The need for a centralized and accessible platform to manage tasks is essential to ensure that
individuals can maintain a work-life balance and prevent burnout. By utilizing the To-Do list
application, users can prioritize their tasks and ensure that they are completing them on time,
thus reducing stress and improving productivity. In summary, the To-Do list application is an
indispensable tool in the modern-day, providing a simple, efficient, and effective solution for
managing and tracking tasks.
Furthermore, while some existing systems may offer rudimentary task management features,
they often lack the advanced tracking and management capabilities that many users require.
This can limit the effectiveness of these applications in helping users stay organized,
productive, and on top of their various responsibilities. As a result, there is a growing demand
for more comprehensive and integrated task management solutions that can provide users with
a seamless and efficient experience across all of their devices.
Google Tasks
A simple task management application that is integrated with other Google products. It is
available on multiple devices, but its functionality is limited, and it does not provide advanced
tracking and management capabilities.
3
Microsoft To Do
A standalone application that allows users to manage their tasks and to-do lists. While it is
available on multiple devices, its functionality is limited, and it does not provide advanced
tracking and management capabilities.
Pros
Some existing systems have a user-friendly interface
Cross-device synchronization is a feature offered by some systems
Cons
Complex features may make it harder for users to understand and learn how to use the
system
Incorporating too many features can defeat the simplicity of the user interface
In response to the challenges posed by the current task management landscape, the To-Do list
application has been designed to offer a straightforward and comprehensive solution for users.
The application seeks to provide users with the essential features required for effective task
management, including the ability to add, edit, and delete tasks, set reminders, and monitor
progress. By emphasizing these core functionalities, the To-Do list application aims to offer
users a streamlined and efficient task management experience.
Furthermore, the To-Do list application distinguishes itself from other systems by offering a
clean and intuitive user interface. Rather than overwhelming users with a cluttered interface,
the application prioritizes simplicity and ease of use, making it straightforward for users to
manage their tasks and stay organized.
Overall, the To-Do list application aims to provide a simple yet effective solution to the
challenges posed by the current task management landscape. By focusing on essential features,
cross-device synchronization, and a clean user interface, the application aims to help users stay
productive and on top of their responsibilities.
Timely
The To-Do list application is a task management tool that focuses on simplicity and efficiency.
With essential features such as adding, editing, and deleting tasksand tracking progress, users
can easily stay organized and productive. The application's user-friendly interface ensures ease
of use, making it ideal for anyone who needs to manage tasks effectively.
Trac
Manage your tasks with ease and simplicity using the To-Do list application. This tool lets you
add, edit, and delete tasks as well as track your progress. Its intuitive design makes it suitable
for anyone who wants to stay on top of their tasks and achieve their goals.
4
Taskaid
The To-Do list application is a simple and effective way to organize your tasks. You can create,
modify, and remove tasks as well as monitor your progress. The application has a user-friendly
interface that allows you to use it without any hassle. Whether you need to manage personal or
professional tasks, this tool can help you get things done.
Pros
Provides a simple, yet comprehensive solution for managing tasks
Focuses on essential features like adding, editing, and deleting tasks, setting
reminders, and tracking progress
Prioritizes a clean and intuitive design for easy navigation and task management
Aims to address the limitations of existing systems by providing a simple and
efficient solution for managing tasks.
Cons
No Email Connectivity
No support for multiple platforms (as of planned)
5
CHAPTER 3
SYSTEM DESIGN
Function
Action
Flow
LEVEL 0
LEVEL 1
6
3.2 DATABASE DESIGN
ER DIAGRAM
7
3.3 GUI DESIGN
The GUI design of the To-Do List application is simple and user-friendly. The login and
registration pages provide a clear and concise way for users to access the application. The main
task page displays a list of tasks, with separate sections for incomplete, complete, today, and
this month tasks. The separate pages for incomplete, complete, today, and this month tasks
allow users to view and manage their tasks in an organized manner. The interface is designed
to be responsive, providing an optimal viewing and interaction experience.
LOGIN PAGE
REGISTRATION PAGE
8
TASKS MAIN PAGE
9
EDIT TASKS PAGE
10
CHAPTER 4
PROJECT DESCRIPTION
The To-Do List Application is a web-based project that helps users to manage their daily tasks
and track their progress.
Overall, this project aims to provide users with a user-friendly and efficient way to manage
their daily tasks. By using this application, users can prioritize their tasks, track their progress,
and achieve their goals efficiently.
There are several modules in the proposed system, which will help the end user to interact with
The system with ease. The below specified are key modules which are integrated in the project.
1. Login
2. Registration
3. Tasks
4. Add Task
5. View Tasks
6. Task Status
Login
The User Login module is an essential part of the To-Do List application that allows registered
users to access their accounts. The module provides a standard login interface for the users
where they can enter their username and password to authenticate themselves.
Upon successful login, the user is redirected to the main Tasks page, where they can view, edit,
delete, and add new tasks. The user's login credentials are securely stored in the application's
database.
The User Login module can also include additional features such as password reset
functionality, multi-factor authentication, and social media login integration to enhance the
user's login experience. The password reset functionality allows the user to reset their password
in case they forget it or suspect a security breach. The multi-factor authentication provides an
additional layer of security by requiring the user to provide a second factor, such as a one-time
password sent to their phone, to access their account. The social media login integration allows
the user to log in to their account using their social media accounts, such as Facebook or
Google, making the login process more convenient for the user.
In summary, the User Login module is a crucial component of the To-Do List application that
ensures secure and convenient access for registered users to manage their daily tasks
efficiently.
Registration
The Registration of New User module is an integral part of the To-Do List application that
enables new users to create an account and start using the application. The module provides a
11
simple and easy-to-use interface where new users can register by providing their basic details,
such as their username and password.
Upon registration, the user's information is securely stored in the application's database, and a
unique user ID is generated for the new user. The user ID and password are required for the
user to access their account and start using the To-Do List application.
To ensure the user's privacy and security, the Registration of New User module may include
additional features such as email verification, captcha verification, and password strength
validation. The email verification feature sends a verification email to the user's email address,
which they need to verify to activate their account. The captcha verification feature prevents
automated bots from creating fake accounts, and the password strength validation feature
ensures that the user's password is strong enough to protect their account from unauthorized
access.
In summary, the Registration of New User module is a critical component of the To-Do List
application that enables new users to create their account and start using the application. The
module ensures the user's privacy, security, and convenience while registering, making the
process simple and straightforward for the new users.
Tasks
The To-Do list application offers a range of features that enable users to manage their tasks
and time more efficiently. One of the most crucial functions of the application is the ability to
add tasks easily. This feature is essential because it allows users to keep track of all the tasks
they need to complete. Users can add new tasks to their To-Do List by entering the task name
and description, along with the optional date and time.
To make it easier for users to navigate their tasks, the application offers view options. Once
users have added their tasks, they can choose to view them based on their time frame. Users
can choose to view their tasks for the day, week, month or year by selecting the appropriate
option from the drop-down box.
Another useful feature of the To-Do list application is the Tasks Status option. Upon selecting
this button, users are shown a page where they can view their tasks based on their status. They
can view tasks that are incomplete, completed, or overdue. This feature allows users to track
their progress and ensure that they are meeting their deadlines.
Finally, the application provides a logout button for users to log out of the main page. This
feature is particularly useful for individuals who share devices or are using public computers.
By logging out of the application, users can ensure that their tasks and data remain private and
secure.
In conclusion, the To-Do list application provides a range of features that enable users to
manage their tasks efficiently. The ability to add tasks easily, view options, Tasks Status, and
logout option all contribute to making the application user-friendly and straightforward.
12
Add Tasks
The To-Do list application provides users with a variety of tools to create and manage their
tasks. One of the key features is the task name textbox, which allows users to enter the name
of their task or a short description. This textbox serves as a placeholder for users to save their
tasks and retrieve them later.
Once users have entered their task name or description, they can then set a due date using the
task date field. This feature is particularly useful for individuals who have multiple tasks to
manage and need to prioritize their workload. Users can then set a due time for their task, if
necessary, using the task time field.
To add the task to the database, users can click on the Add Task button. However, this button
only works when all the required fields for the task details are filled. This ensures that users do
not accidentally save incomplete tasks, which can lead to confusion and missed deadlines.
To navigate back to the home page, users can click on the Home button. This button serves as
a quick and easy way to return to the main page of the application. It is particularly useful for
individuals who are managing multiple tasks and need to switch between different screens
quickly.
In conclusion, the task name textbox, task date field, task time field, Add Task button, and
Home button are all essential features of the To-Do list application. They provide users with
the necessary tools to create and manage their tasks efficiently, ensuring that they can stay on
top of their workload and meet their deadlines.
Edit Tasks
The To-Do List application provides users the ability to edit their tasks like the task name, due
date, time, etc.
The drop down box provides users with all the tasks present in their To-Do List, the users can
choose a task and edit it on the go.
In conclusion, the Edit Tasks option provide users with a comprehensive ability to alter their
tasks, allowing them to manage their time more efficiently. The Home button provides users
with a convenient way to navigate back to the main page and access other features and options
of the application.
View Tasks
The To-Do list application provides users with various options to view their tasks based on
their due dates. One of the options available to users is Today's Tasks, which displays a list of
incomplete tasks that are due on the current day. This feature is useful for individuals who want
to plan their schedule for the day or ensure that they do not miss any important deadlines.
13
Similarly, the This Week's Tasks option displays a list of incomplete tasks that are due within
the current week. This feature allows users to plan their schedule for the week and ensure that
they are on track to complete all of their tasks.
The This Month's Tasks option displays a list of incomplete tasks that are due within the current
month. This feature provides users with a broader view of their workload, allowing them to
plan their schedule for the month and prioritize their tasks accordingly.
The This Year's Tasks option displays a list of incomplete tasks that are due within the current
year. This feature is particularly useful for individuals who have long-term goals or projects
that span multiple months or even years.
To return to the home page, users can click on the Home button. This button serves as a quick
and easy way to navigate back to the main page of the application and access other features
and options.
In conclusion, the Today's Tasks, This Week's Tasks, This Month's Tasks, and This Year's
Tasks options provide users with a flexible and customizable way to view and manage their
tasks based on their due dates. The Home button serves as a convenient way to navigate back
to the main page of the application and access other features and options.
Tasks Status :
The To-Do list application provides users with options to view both their incomplete and
completed tasks. The In-Completed Tasks option displays a list of all the tasks that have not
yet been completed, allowing users to plan their schedule and prioritize their tasks accordingly.
Users can mark specific tasks as completed as they complete them, which will move them to
the Completed Tasks list.
The Completed Tasks option displays a list of all the tasks that have been marked as completed
by the user. This feature allows users to review their completed tasks and gain a sense of
accomplishment as they see the progress they have made.
The Home button is available on every page of the application, allowing users to quickly return
to the main page. This button provides users with a convenient way to navigate back to the
home page and access other features and options.
In conclusion, the In-Completed Tasks and Completed Tasks options provide users with a
comprehensive view of their tasks, allowing them to manage their time more efficiently. The
Home button provides users with a convenient way to navigate back to the main page and
access other features and options of the application.
14
CHAPTER 5
SYSTEM DEVELOPMENT
HTML and CSS are essential technologies for building web pages and web applications.
HTML, which stands for Hypertext Markup Language, provides the structure and content of
web pages. CSS, which stands for Cascading Style Sheets, is used for page layout, formatting,
and design.
HTML
CSS
Combination
Overall, HTML and CSS are essential technologies for building web pages and web
applications. They offer several features for designers and developers, allow for the creation of
interactive and multimedia-rich web pages, and are fundamental to building modern,
responsive web applications that provide a rich user experience.
15
PHP
PHP, short for hypertext pre-processor, is a server-side scripting language primarily designed
for web development, but it is also used for general-purpose programming. Originally created
in 1994 by Rasmus, it was initially called "Personal Home Page." Today, the reference
implementation of PHP is produced by the PHP Group. PHP is a widely-used language with
over 240 million websites and 2.1 million web servers using it as of January 2013.
One of the key features of PHP is its ability to be combined with various web frameworks and
templating engines, allowing developers to build complex web applications. The language is
often mixed with HTML code to dynamically generate web pages. The PHP code is generally
processed by a PHP interpreter, which can be executed as a native module of the web server or
as a common gateway interface (CGI) executable.
Functionality
Ability to be combined with various web frameworks and templating engines to build
complex web applications.
Often mixed with HTML code to dynamically generate web pages.
Processed by a PHP interpreter, which can be executed as a native module of the web
server or as a common gateway interface (CGI) executable.
Standard PHP interpreter is powered by the Zend Engine, which is free software
released under the PHP license.
Multiple versions of PHP available, with version 5.5 being used for the current
application.
Usage
Overall, PHP is a powerful and versatile language that plays a vital role in modern web
development. Its ability to handle server-side processing and work seamlessly with HTML
make it an essential tool for building dynamic and interactive web applications.
MySql
SQL stands for Structured Query Language, which is a programming language used to manage
and manipulate relational databases. MySQL is a popular open-source Relational Database
Management System (RDBMS) that is widely used for web applications and is a crucial
component of the LAMP (Linux, Apache, MySQL, PHP/Perl/Python) software stack. MySQL
16
is utilized by various software applications, including WordPress, Joomla and many others. It
is also used by large-scale websites like Google, YouTube, Facebook, Twitter, and Flickr.
MySQL is written in C and C++ and was created by a Swedish company. The first version of
MySQL was released on May 23, 1995. MySQL has several versions, and the version used in
this project is 5.6.17.
MySQL Features
Scalability: can handle large amounts of data and users without sacrificing performance
Security: provides various security mechanisms to protect data from unauthorized
access and ensure data privacy
ACID Compliance: ensures that transactions are atomic, consistent, isolated, and
durable (ACID) to maintain data integrity
High Availability: supports various replication techniques that enable the database to
be available even in case of system failures
MySQL in Project
Pseudo code is a term which is often used in programming and algorithm-based fields.
It is a methodology that allows the programmer to represent the implementation of an
algorithm. Simply, we can say that it’s the cooked-up representation of an algorithm.
Login
1. Start
2. Create HTML file named loginpage.html
3. Create a form using HTML and CSS
add input field for username and password
add button to submit form data
add a link to registration page
4. Create a PHP file named login.php
Start session
Connect to MySQL database
If connection fails, display error message
If the form is submitted, retrieve the values of the username and password
fields
Run a SQL query to select a user with matching username and password
If there is exactly one matching row in the result set:
Store the username in a session variable
17
Redirect to the tasks.php page
Otherwise, redirect to the registration page
5. End
Registration
1. Start
2. Create HTML file named registerpage.html
Create a form for registration
Add input fields for username and password
Add submit button
3. Create a PHP file named register.php
Connect to MySQL database
If connection fails, display error message
If form is submitted, retrieve the values of the username and password fields
Check if the username already exists in the database
If it exists, display an alert message and redirect to registration page
If it doesn't exist, insert the new user information into the database
If successful, redirect to the login page
If unsuccessful, display error message
4. End
Tasks
1. Start session
2. Connect to database
3. Get logged in user's username
4. Echo welcome message with logged in user's username
5. Display task operation section with Add Task, View Tasks, Status, and Log-Out button
6. Echo About Tasks section with information about the project
7. End
Add Task
1. Start session
2. Connect to database
3. Get logged in user's username
4. Echo add task page title with logged in user's username
5. Display form for adding task with input fields for task name, date and time, and submit
button
6. If form is submitted with non-empty task name, get task name, date and time from form
input
7. Insert task into list table with logged in user's username, task name, date, and time
18
8. Close database connection
9. End
View Tasks
1. Start session
2. Connect to database
3. Get logged in user's username
4. Echo View tasks page title with logged in user's username
5. Display the drop box to select other view options
6. Echo home button
7. Display the taks based on the selected view option
8. Close database connection
9. End
Tasks Status
1. Start session
2. Connect to database
3. Retrieve the username from the session
4. If the "completed" button is pressed: a. Retrieve the task name from the form Update
the task status in the database to "completed" for the corresponding user and task name
5. Retrieve all incomplete tasks for the user from the database, ordered by date and time
6. Display the incomplete tasks in a table with columns for task name, date, time, status,
and an action column with a "Complete" button for each task
7. If the "incompleted" button is pressed: a. Retrieve the task name from the form b.
Update the task status in the database to "incomplete" for the corresponding user and
task name
8. Retrieve all completed tasks for the user from the database, ordered by date and time
9. Display the completed tasks in a table with columns for task name, date, time, status,
and an action column with an "Incomplete" button for each task.
10. Close database connection
11. End
19
CHAPTER 6
SYSTEM TESTING AND VALIDATIONS TESTING
Testing is the process of executing a program or system with the intent of finding errors. Or, it
involves any activity aimed at evaluating an attribute or capability of a program or system and
determining that it meets its required results. Software is not unlike other physical processes
where inputs are received, and outputs are produced. Where software differs is in the way it
fails. Most physical systems fail in a fixed (and reasonably small) set of ways. By contrast,
software can fail in many bizarre ways. Detecting all the different failure modes for software
is generally infeasible.
Testing is one of the most important stages in software development which can prove whether
the implementation and the requirements are in fidelity with each other. Testing can also
confirm if the software specifications are complete and consistent.
One of the main goals of testing is to have a minimum number of test cases that will find most
implementation errors.
Types of Testing:
• Unit testing
• Integration Testing
• Acceptance Testing
• Validation
• System Testing
• Functional Testing
• Smoke Testing
• Regression Testing
• Performance Testing
• Security Testing
• User Acceptance Testing
Unit testing is a software development process in which the smallest testable parts of an
application, called units, are individually and independently scrutinized for proper operation.
Unit testing involves only those characteristics that are vital to the performance of the unit
under test. The units in a system are the modules and routines that are assembled and integrated
to perform a specific function. In a large system many modules at various levels are needed.
Unit testing focuses on the modules Independently of one another, to locate errors. Unit testing
can be time-consuming and tedious. It demands patience and thoroughness on the part of the
development team. Rigorous documentation must be maintained. Unit testing must be done
with an awareness that it may not be possible to test a unit for every input scenario that will
occur when the program is run in a real-world environment. Unit testing is usually conducted
as part of a combined code and unit test phase of the software lifecycle, although it is not
uncommon for coding and unit testing to be conducted as two distinct phases.
20
Implementation
Overall, unit testing is crucial for ensuring that a to-do list project is working as intended and
providing a seamless user experience. By testing each feature thoroughly, we can catch any
errors or bugs early on in the development process and ensure that the application meets the
user's needs.
Integration testing is an important aspect of ensuring that all the features of a to-do list project
work seamlessly together. This project includes a login and registration system, a main task
page, and additional pages for adding, editing, viewing, and changing the status of tasks.
Integration testing should be performed to verify that each of these features interacts with one
another properly.
21
Implementation
Overall, integration testing helps ensure that all the features of a to-do list project work
seamlessly together to provide the best possible user experience. By testing how different
features interact with each other, we can catch any issues that might arise and ensure that the
application meets the user's needs.
Acceptance testing is a critical stage of software development that aims to verify whether the
to-do list project meets the user's requirements and expectations. In this to-do list project, we
need to conduct acceptance testing to ensure that the system functions correctly, and the user
interface is intuitive and easy to use. Acceptance testing should involve end-users, who will
use the application to evaluate whether it satisfies their needs and expectations.
22
Implementation
In conclusion, acceptance testing is an important step in ensuring that the to-do list project
meets the user's requirements and expectations. By involving end-users in the testing process,
we can obtain feedback and make any necessary changes to ensure that the system functions
correctly and provides an intuitive user experience.
6.4 Validation:
Validation is a crucial aspect of developing a to-do list project that contains a login, register,
main tasks, add task, edit task, view task, and task status pages. Validation aims to ensure that
users can input data accurately and prevent them from entering invalid data that could lead to
errors or security issues.
23
Implementation
In conclusion, validation is critical for ensuring that the to-do list project functions correctly
and provides an excellent user experience. By validating the user's input, we can prevent errors
and issues, improve the system's performance, and ensure that users can complete tasks
effectively and efficiently.
24
CHAPTER 7
USER MANUAL
Introduction
Welcome to my To-Do List project, a tool designed to help you organize and manage your
tasks efficiently. This user manual will guide you through the features and functionalities of
the system, including login, registration, main tasks, add task, edit task, view task, and task
status pages.
Login
To access the system, you need to have an account. If you already have one, enter your
username and password in the login page and click "login." If you don't have an account yet,
click on "register" to create a new account.
Registration
To register for an account, click on the "register" button on the login page. You will be
prompted to enter your name, email address, and password. Once you have entered the
information, click "submit," and your account will be created.
Main Tasks
After you have logged in, you will be directed to the main tasks page. This page displays an
array of buttons to navigate to the functions offered and a short description of the To-Do List
Add Task
To add a new task, click on the "add task" button on the main tasks page. You will be prompted
to enter the task's title, description, due date, priority, and status. Once you have entered the
information, click "submit," and the new task will be added to your list.
Edit Task
To edit an existing task, click on the "edit" button next to the task you want to modify. You can
update the task's title, description, due date, priority, and status. Once you have made the
changes, click "submit," and the task will be updated.
View Task
To view a task's details, click on the task's title in the main tasks list. This will open a new page
displaying the task's description, due date, priority, and status.
25
Task Status
To update a task's status, click on the "edit" button next to the task you want to modify. You
can change the task's status from "in progress" to "completed" or "cancelled." Once you have
made the changes, click "submit," and the task's status will be updated.
Conclusion
My To-Do List project is an effective tool for managing and organizing your tasks. By
following this user manual, you can take full advantage of the system's features and
functionalities to keep track of your tasks and increase your productivity.
26
CHAPTER 8
SYSTEM DEPLOYMENT
System deployment involves the transition of the capability to the ultimate end-user, as well as
transition of support and maintenance responsibilities to the post-deployment support
organization or organizations. It may include a period of reliability demonstration tests and the
phasing out of legacy systems that the developed system replaces.
Choose a hosting provider: You will need to select a web hosting provider that supports PHP
and MySQL. There are many options available, including shared hosting, virtual private servers
(VPS), and dedicated servers. Consider your budget, scalability needs, and technical expertise
when choosing a hosting provider.
Set up the server environment: Once you have chosen a hosting provider, you will need to set
up the server environment. This will involve installing PHP and MySQL, configuring the server
settings, and setting up any necessary software dependencies. You may also need to configure
your domain name and DNS settings.(Recommended Xampp Server)
Upload the system files: Next, you will need to upload the Task management system files to
the server. This can be done using FTP or a web-based file manager. Make sure to upload all
necessary files and directories, including the PHP files, MySQL database, and any additional
assets or dependencies.
Import the database: After uploading the system files, you will need to import the MySQL
database. This can typically be done using a tool like phpMyAdmin or the MySQL command
line interface. Make sure to follow any instructions provided by the system developer for
importing the database schema and data.
Configure the system settings: Once the database is imported, you will need to configure the
system settings. This may involve updating the database connection settings in the PHP files,
configuring email settings, and setting up any necessary system permissions or security
measures.
Test the system: Before launching the system, you should thoroughly test it to ensure that it is
working correctly. Test all system functionalities, including participant registration, session
management, paper submission, and reporting. Make sure to fix any issues or bugs before
launching the system to the public.
Launch the system: After testing, you can launch the Task management system to the public.
Make sure to notify all participants and stakeholders of the launch and provide any necessary
instructions or support. Continuously monitor the system for any issues or bugs and provide
ongoing support to users as needed.
27
CHAPTER 9
CONCLUSION
A to-do list project utilizing HTML, PHP, and MySQL can offer an effective solution for
organizing and managing tasks. By utilizing web-based technologies, the system enables easy
registration, submission, and review of tasks, as well as efficient communication between
users. The centralized MySQL database provides a convenient way to store and access
important information such as task lists, due dates, and statuses.
The system's user-friendly interface and streamlined workflow can simplify task management
and increase productivity. Users can easily register and log in to access the main task page,
where they can view, add, edit, and update their tasks. The system also allows for the tracking
of task statuses, helping users stay on top of their to-do list and prioritize their workload.
Overall, a to-do list project using HTML, PHP, and MySQL can offer numerous benefits for
individuals and teams looking to stay organized and productive. With proper design,
development, and maintenance, such a system can be an invaluable tool for managing and
completing tasks efficiently.
28
CHAPTER 10
FUTURE ENHANCEMENT
There are several potential future enhancements that could be made to a Task management
system. Here are a few examples:
Mobile Optimization: As more and more people use mobile devices to access the internet, it is
becoming increasingly important to ensure that web-based applications are optimized for
mobile devices. Adding mobile optimization to the Task management system would make it
more accessible and user-friendly for attendees who prefer to use their smartphones or tablets
to access event information and complete tasks such as registration and paper submission.
Integration with Social Media Platforms: Social media platforms such as Facebook, Twitter,
and LinkedIn can be powerful tools for promoting Task events and engaging with attendees.
Adding integration with these platforms to the Task management system could enable
organizers to easily post updates, share information, and interact with attendees in real-time.
Real-time Data Analytics: By integrating real-time data analytics into the Task management
system, organizers could gain valuable insights into attendee behavior, paper submission
trends, and other key metrics. This could enable them to make more informed decisions about
how to allocate resources and improve the overall Task experience.
Virtual Reality (VR) Integration: With the rise of virtual and augmented reality technologies,
there is potential to use VR to create immersive and interactive experiences for Task attendees.
Adding VR integration to the Task management system could enable organizers to create
virtual exhibitions, interactive sessions, and other engaging experiences that enhance the
overall event experience.
29
CHAPTER 11
BIBLIOGRAPHY
Book References:
• Bansal, S., Kaur, R., & Saini, R. (2021). "A Review on Automated Task Management
System", 1st ed., Journal of Advances in Humanities and Social Science.
• Kalaiselvi, R., & Ganesan, S. (2020). "A Web-Based Task Management System Using
PHP and MySQL", 1st ed., International Journal of Scientific & Technology Research.
• Kim, K., & Yoon, J. (2017). "A Web-Based Task Management System for Efficient
Paper Submission and Review", 1st ed., International Journal of u- and e- Service,
Science and Technology.
• Mirhosseini, S. A., & Jabari, S. (2021). "Designing a Web-Based Conference
Management System Using PHP and MySQL", 1st ed., International Journal of
Advanced Computer Science and Applications.
• Saravanan, S., & Marimuthu, M. (2016). "Web-Based Task Management System Using
PHP and MySQL", 1st ed., International Journal of Advanced Research in Computer
and Communication Engineering.
Web References:
EasyChair: https://easychair.org/
ConfTool: https://www.conftool.net/
OpenConf: https://www.openconf.com/
Cvent: https://www.cvent.com/
Eventbrite: https://www.eventbrite.com/
Google Forms: https://www.google.com/forms/about/
Wufoo: https://www.wufoo.com/
SurveyMonkey: https://www.surveymonkey.com/
JEMS: https://www.jems.com/
Ex Ordo: https://www.exordo.com/
30
APPENDIX A
DATA DICTIONARY
This data dictionary provides a list of all the data elements used in the to-do list project,
including their descriptions, data types, and possible values.
User Information
Description: Information related to the user's account, including their name, email, and
password.
Data Types: Text, Password
Possible Values: User's name, valid email address, and a secure password.
Task Information
Description: Information related to the task, including the task name, description, due date, and
status.
Data Types: Text, Date, Boolean
Possible Values: Task name, task description, due date, and status (i.e., completed, in progress,
or not started).
Task Status
Description: Information related to the status of a task, including whether it's completed or not.
Data Types: Varchar
Possible Values: C (completed) or I (not completed).
Login Information
Description: Information related to a user's login credentials, including their email and
password.
Data Types: Text, Password
Possible Values: User's email and password.
Registration Information
Description: Information related to a user's registration details, including their name, email,
and password.
Data Types: Text, Password
Possible Values: User's name, valid email address, and a secure password.
Description: Information related to the editing of a task, including the task name, description,
due date, and status.
Data Types: Text, Date, Time
31
Possible Values: Task name, task description, due date, and status (i.e., completed, in progress,
or not started).
Description: Information related to the viewing of a task, including the task name, description,
due date, and status.
Data Types: Text, Date, Time
Possible Values: Task name, task description, due date, and status (i.e., completed, in progress,
or not started).
This data dictionary serves as a useful reference for developers, designers, and other
stakeholders involved in the to-do list project. It ensures consistency in data usage, reduces the
risk of errors and ambiguities, and facilitates better collaboration among team members.
32
APPENDIX B
SAMPLE SCREENSHOT
LOGIN PAGE
To access the system, you need to have an account. If you already have one, enter your
username and password in the login page and click "login." If you don't have an account yet,
click on "register" to create a new account.
REGISTRATION PAGE
To register for an account, click on the "register" button on the login page. You will be
prompted to enter your name, email address, and password. Once you have entered the
information, click "submit," and your account will be created.
33
TASKS MAIN PAGE
After you have logged in, you will be directed to the main tasks page. This page displays an
array of buttons to navigate to the functions offered and a short description of the To-Do List
To add a new task, click on the "add task" button on the main tasks page. You will be prompted
to enter the task's title, description, due date, priority, and status. Once you have entered the
information, click "submit," and the new task will be added to your list.
34
ADD TASKS PAGE
To edit a task select a task from the drop down option and edit the name or date or time or
everything on that task.
35
TASKS STATUS PAGE
The user can view all the completed and in-complete tasks in one page where they can mark
any incomplete task as completed
36
APPENDIX C
SAMPLE CODE
ADD TASKS:
<html>
<head>
<link rel="stylesheet" type="text/css" href="addtask.css">
</head>
<body><br><center>
<?php
session_start();
$con = mysqli_connect("localhost","root","","todo");
$uname = $_SESSION['uname'];
?>
<h1>Add Tasks to your To-Do List <?php echo $uname; ?></h1>
<?php
echo '<a href="tasks.php"><input type="button" value="Home"></a><br>';
echo '<br><form method="post">';
echo '<br><div class="form-row"><div><input type="text" name="tname"
placeholder="Task Name" required>';
echo '<input type="date" name="date" required>';
echo '<input type="time" name="time" required>';
echo '<input type="submit" value="Add Task"></div></div><br>';
echo '</form>';
if (!empty($_POST['tname'])) {
$tname = $_POST['tname'];
$date = $_POST['date'];
$time = $_POST['time'];
$query = "INSERT INTO list (uname, tname, date, time) VALUES ('$uname', '$tname', '$date',
'$time')";
mysqli_query($con, $query);
}
?>
</center></body>
</html>
EDIT TASKS:
<html>
<head>
<link rel="stylesheet" type="text/css" href="addtask.css">
</head>
<body><br><center>
<?php
session_start();
$con = mysqli_connect("localhost","root","","todo");
$uname = $_SESSION['uname'];
37
?>
<h1>Edit Tasks in your To-Do List <?php echo $uname; ?></h1>
<?php
echo '<a href="tasks.php"><input type="button" value="Home"></a><br>';
echo '<br><form method="post">';
echo '<br><div class="form-row"><div>';
$query = "SELECT tname FROM list WHERE uname='$uname'";
$result = mysqli_query($con, $query);
if (mysqli_num_rows($result) > 0) {
echo '<select name="task_name">';
while ($row = mysqli_fetch_assoc($result)) {
echo '<option value="' . $row['tname'] . '">' . $row['tname'] . '</option>';
}
echo '</select>';
}
echo '<input type="text" name="new_task_name" placeholder="New Task Name">';
echo '<input type="date" name="date" required>';
echo '<input type="time" name="time" required>';
echo '<input type="submit" value="Edit Task"></div></div><br>';
echo '</form>';
if (!empty($_POST['task_name'])) {
$task_name = $_POST['task_name'];
} else if (!empty($_POST['new_task_name'])) {
$new_task_name = $_POST['new_task_name'];
}
if (!empty($task_name)) {
if (!empty($_POST['new_task_name'])) {
$new_task_name = $_POST['new_task_name'];
$date = $_POST['date'];
$time = $_POST['time'];
$query = "UPDATE list SET date='$date', time='$time', tname='$new_task_name' WHERE
tname='$task_name' AND uname='$uname'";
mysqli_query($con, $query);
}
else {
$date = $_POST['date'];
$time = $_POST['time'];
$query = "UPDATE list SET date='$date', time='$time' WHERE tname='$task_name' AND
uname='$uname'";
mysqli_query($con, $query);
}
}
?>
</center></body>
38
</html>
TASKS STATUS:
<html>
<head>
<link rel="stylesheet" type="text/css" href="statu.css">
</head>
<body><center><br>
<?php
session_start();
$con = mysqli_connect("localhost","root","","todo");
$uname = $_SESSION['uname'];
?>
<h1>Your Tasks Status <?php echo $uname; ?></h1>
<?php
echo '<a href="tasks.php"><input type="button" value="Home"></a>';
?>
<?php
if (isset($_POST['completed'])) {
$tname = $_POST['tname'];
$query = "UPDATE list SET status='completed' WHERE uname='$uname' AND
tname='$tname'";
mysqli_query($con, $query);
}
$query = "SELECT tname, date, time, status FROM list WHERE uname = '$uname' AND
status = 'incomplete' ORDER BY date, time";
$result = mysqli_query($con, $query);
echo '<table class="form-left">';
echo '<h2 class="hl">In-Complete Tasks</h2>';
echo
'<tr><th>Task</th><th>Date</th><th>Time</th><th>Status</th><th>Action</th></tr>';
while ($task = mysqli_fetch_assoc($result)) {
echo '<tr>';
echo '<td>' . $task['tname'] . '</td>';
echo '<td>' . $task['date'] . '</td>';
echo '<td>' . $task['time'] . '</td>';
echo '<td>' . $task['status'] . '</td>';
echo '<td>
<form action="" method="post">
<input type="hidden" name="tname" value="' . $task['tname'] . '">
<input type="submit" name="completed" value="Complete">
</form>
</td>';
echo '</tr>';
}
echo '</table>';
39
if (isset($_POST['incompleted'])) {
$tname = $_POST['tname'];
$query = "UPDATE list SET status='incomplete' WHERE uname='$uname' AND
tname='$tname'";
mysqli_query($con, $query);
header("Location: status.php");
}
$query = "SELECT tname, date, time, status FROM list WHERE uname = '$uname' AND
status = 'completed' ORDER BY date, time";
$result = mysqli_query($con, $query);
echo '<table class="form-right">';
echo '<h2 class="h2">Completed Tasks</h2>';
echo
'<tr><th>Task</th><th>Date</th><th>Time</th><th>Status</th><th>Action</th></tr>';
while ($task = mysqli_fetch_assoc($result)) {
echo '<tr>';
echo '<td>' . $task['tname'] . '</td>';
echo '<td>' . $task['date'] . '</td>';
echo '<td>' . $task['time'] . '</td>';
echo '<td>' . $task['status'] . '</td>';
echo '<td>
<form action="" method="post">
<input type="hidden" name="tname" value="' . $task['tname'] . '">
<input type="submit" name="incompleted" value="Incomplete">
</form>
</td>';
echo '</tr>';
}
echo '</table>';
?></center>
</body>
</html>
40