100% found this document useful (2 votes)
8K views46 pages

To Do List

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.

Uploaded by

JOFIN N S JEEN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
8K views46 pages

To Do List

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.

Uploaded by

JOFIN N S JEEN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 46

TO-DO LIST

Submitted for the partial fulfilment of the requirements


For the award of the degree in

BACHELOR OF COMPUTER APPLICATIONS

BY SAI SHARAN .A
(DEPT NO: 20-UCA-016)

UNDER THE GUIDANCE OF


PROF. S.VIJAYA

DEPARTMENT OF COMPUTER SCIENCE


LOYOLA COLLEGE (AUTONOMOUS)
CHENNAI-600094

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

20-UCA-016 SAI SHARAN .A


SIGNATURE
BONAFIDE CERTIFICATE

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.

Dr.S.BHARATHIDASON PROF. S.VIJAYA

HEAD OF THE DEPARTMENT PROJECT GUIDE

The Viva-Vice Examination held on _____________ at Loyola College


(Autonomous), Chennai – 600034.

INTERNAL EXAMINER EXTERNAL EXAMINER


ABSTRACT

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 would also like to thank our Head of the Department Dr.S.BHARATHIDASON,


and our coordinator Dr.M.D.ANANDARAJ, for their constant encouragement to
finish this project.

My special thanks to my guide, PROF. S.VIJAYA who gave me the needed


information and support to the successful completion of this project work

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

S.No Contents Page No


1 INTRODUCTION 1
1.1 IMPORTANCE OF THE PROJECT 1
1.2 GENERAL ORGANIZATION OF THE 1
PROJECT
2 SYSTEM ANALYSIS 3
2.1 PROBLEM DEFINITION 3
2.2 EXISTING SYSTEM 3
2.3 PROPOSED SYSTEM 4
2.4 SYSTEM REQUIREMENTS 5
2.4.1 HARDWARE REQUIREMENTS 5
2.4.2 SOFTWARE REQUIREMENTS 5
3 SYSTEM DESIGN 6
3.1 ARCHITECTURAL DESIGN 6
3.2 DATABASE DESIGN 7
3.3 GUI DESIGN 8
4 PROJECT DESCRIPTION 11
5 SYSTEM DEVELOPMENT 15
5.1 LANGUAGE / TOOL 15
5.2 PSEUDO CODE 17
6 SYSTEM TESTING AND VALIDATIONS 20
TESTING
6.1 UNIT TESTING 20
6.2 INTEGRATION TESTING 21
6.3 ACCEPTANCE TESTING 22
6.4 VALIDATION 23
7 USER MANUAL 25
8 SYSTEM DEPLOYMENT 27
9 CONCLUSION 28
10 FUTURE ENHANCEMENT 29
11 BIBLIOGRAPHY 30
APPENDIX-A DATA DICTIONARY 31
APPENDIX-B SAMPLE SCREENSHOT 33
APPENDIX-C SAMPLE CODE 37
CHAPTER 1
INTRODUCTION

1.1 IMPORTANCE OF THE PROJECT

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.

1.2 GENERAL ORGANIZATION OF THE REPORT

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

2.1 PROBLEM DEFINITION

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.

2.2 EXISTING SYSTEM

The current landscape of task management applications is characterized by a prevalent lack of


integration and synchronization across different devices. Many of these applications are
designed to operate in a standalone manner, meaning that they are not interconnected with other
devices or applications. This makes it difficult for users to seamlessly access and manage their
tasks from multiple devices, as they often need to manually update their progress and status on
each individual device.

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.

Some of the Existing system examples are

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

2.3 PROPOSED SYSTEM

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.

Some of the abstracts proposed are

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)

2.4 SYSTEM REQUIREMENT

2.4.1 HARDWARE REQUIREMENT:


 X86 Processor 2.0 GHz or above
 2 GB Ram or above
 Minimum of 20 GB of storage space

2.4.2 SOFTWARE REQUIREMENT:


 Microsoft windows 7/8/10/11
 XAMPP server (Html, PHP, MySql)
 VS code or any other code/text editor
 Browser

5
CHAPTER 3
SYSTEM DESIGN

3.1 ARCHITECTURAL DESIGN

Data flow diagram (DFD)


A Data Flow Diagram (DFD) is a graphical representation of the "flow" of data through an
information system, modelling its process aspects. A DFD is often used as a preliminary step
to create an overview of the system, which can later be elaborated. DFD’s can also be used for
the visualization of data processing (structured design).

Function

Action

Flow

LEVEL 0

LEVEL 1

6
3.2 DATABASE DESIGN

Entity relationship diagram (ERD)


An entity-relationship diagram (ERD) is a data modeling technique that graphically
illustrates an information system's entities and the relationships between those
entities. An ERD is a conceptual and representational model of data used to represent
the entity framework infrastructure

ER DIAGRAM

Table name : user


Primary key : uname
Description : To store details of the users (password and username)
Serial. No Fields Datatype Description
1 uname varchar(25) Primary key, not null
2 password varchar(25) not null

Table name : list


Foreign key : uname
Description : To store details of the Tasks(tname, date, time, status) created by the users
Serial. No Fields Datatype Description
1 uname varchar(25) Foreign key, not null
2 tname varchar(255) not null
3 date date
4 time time
5 status varchar(10) not null

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

ADD TASKS PAGE

TASKS VIEW PAGE

9
EDIT TASKS PAGE

TASKS STATUS 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

5.1 LANGUAGE / TOOL

HTML and CSS

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

 Stands for Hypertext Markup Language.


 Provides the structure and content of web pages.
 Allows designers to publish online documents with text, tables, images, and other
media.
 Offers several features for designers and developers, including the ability to create
interactive forms, retrieve information from remote services, and integrate multimedia
elements like audio and video clips.

CSS

 Stands for Cascading Style Sheets.


 Used for page layout, formatting, and design.
 Used in the To-Do list project to style the web application, including layout, colours,
and fonts.
 Allows the designer to adjust the presentation of the web application to different types
of devices, including small screens, large screens, and printers.

Combination

 The combination of HTML and CSS is fundamental to building modern, responsive


web applications that provide a rich user experience.
 Used in the To-Do list project to create the user interface and structure of the web
application.
 Also utilized additional features of HTML and CSS, such as the ability to create forms
and navigate between pages.

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

 Used in the current project to handle server-side processing, including database


interactions and user authentication.
 Ability to work seamlessly with HTML made it a natural choice for dynamically
generating web pages.
 Project made use of various PHP frameworks and libraries to streamline development
and improve code efficiency.

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

 Used as a database to store and manage the application data


 Used to store user data, task data, and various other data related to the application.

5.2 PSEUDO CODE

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

6.1 Unit 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

login and registration system


For the login and registration system, we need to test that the user can create an account, log
in, and log out without any errors. We should also test that the application handles incorrect
login credentials, such as an invalid email or password.

main task page


For the main task page, we need to test that the user can view their tasks actions buttons

add task page


For the add task page, we need to test that the user can create a new task and that the task is
added to the main task page. We should also test that the user cannot create a task without
entering the required information, such as the task name or due date.

edit task page


For the edit task page, we need to test that the user can edit an existing task and that the changes
are saved correctly. We should also test that the user cannot edit a task that belongs to another
user.

view task page


For the view task page, we need to test that the user can view the Tasks in specified time periods

task status page


For the task status page, we need to test that the user can change the status of a task, such as
from incomplete to complete, and that the changes are reflected on the view task page.

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.

6.2 Integration Testing

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

login and registration system


For the login and registration system, we need to test that user accounts are created successfully
and that the login system grants access to the correct user accounts. We should also test that
the system rejects invalid login credentials and that logging out clears the session data.

main task page


For the main task page, we need to test that the user can view their tasks actions buttons

add task page


For the add task page, we need to test that new tasks are added to the database correctly, and
that the page updates to reflect the new task. We should also test that adding a new task
preserves any data that was entered previously.

edit task page


For the edit task page, we need to test that changes made to an existing task are saved properly,
and that the task is updated correctly on the main task page. We should also test that attempting
to edit a task that belongs to another user results in an error message.

view task page


For the view task page, we need to test that users can view details of a specific timed tasks

task status page


For the task status page, we need to test that changing the status of a task from incomplete to
complete or vice versa is reflected correctly on the main task page. We should also test that
changing the status of a task does not affect any other tasks.

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.

6.3 Acceptance Testing

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

login and registration system


For the login and registration system, we need to ensure that the user interface is user-friendly,
and users can register, log in, and recover their password easily. The acceptance testing should
focus on verifying that the login and registration system meets the user's security and privacy
expectations.

main task page


For the main task page, we need to test that the user can view their tasks actions buttons

add task page


For the add task page, we need to ensure that users can add tasks easily and quickly. Acceptance
testing should focus on verifying that the form fields are intuitive and easy to use, and that
users can enter data quickly and without any errors.

edit task page


For the edit task page, we need to ensure that users can edit tasks quickly and easily.
Acceptance testing should focus on verifying that the form fields are intuitive and easy to use,
and that users can edit tasks without any errors or confusion.

view task page


For the view task page, we need to ensure that users can view tasks easily and access all details
about a task, including its date status sorted through the specified time period.

task status page


For the task status page, we need to ensure that users can change the status of a task quickly
and easily. Acceptance testing should focus on verifying that users can mark tasks as complete
or incomplete without any errors or confusion.

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

login and registration system


For the login and registration system, we need to validate the user's input to ensure that they
provide valid data, such as a valid string of username and password. We also need to validate
the user's input for the password recovery process to prevent unauthorized access to the system.

main task page


For the main task page, we need to validate the proper functioning of the provided buttons

add task page


For the add task page, we need to validate the user's input to ensure that they provide valid data
for all required fields. We should also validate any optional fields to ensure that the user
provides valid data and to prevent any errors or issues with the task's details.

edit task page


For the edit task page, we need to validate the user's input to ensure that they provide valid data
for all required fields. We should also validate any optional fields to ensure that the user
provides valid data and to prevent any errors or issues with the task's details.

view task page


For the view task page, we need to validate the user's input to ensure that they can view tasks
correctly, including their due date, status depending on their specified time slot.

task status page


For the task status page, we need to validate the user's input to ensure that they can update the
status of a task correctly and prevent them from entering invalid data that could lead to errors
or issues with the task's details.

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.

Artificial Intelligence (AI) Integration: AI technologies such as natural language processing


and machine learning can be used to automate certain aspects of the Task management process,
such as paper review and scheduling. By integrating AI into the system, organizers could
potentially save time and resources, while also improving the accuracy and efficiency of key
tasks.

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.

Edit Task Information

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

View Task Information

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

ADD TASKS PAGE

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.

TASKS VIEW PAGE

To view Task details in specified time range

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

You might also like