Report Todo
Report Todo
ON
TO-DO LIST
Submitted by
Prajapati Nishika Pareshkumar
In a
Web Development Back-end
May 2025
[ 1stop ]
DECLARATION
I hereby declare that the project report titled "Simple To-Do List Using PHP and HTML5"
has been completed by me as part of my internship at 1Stop, in partial fulfillment of the
requirements of my Bachelor of Engineering in Computer Engineering at LDRP Institute
of Technology and Research (LDRP-ITR), Gujarat.
This project is a result of my own efforts, learning, and practical implementation, guided by
the mentorship and resources provided during my internship. While the project concept and
features are inspired by existing models of task management systems, the development,
customization, understanding, and documentation have been carried out by me.
This report has not been submitted previously for the award of any degree or diploma and all
sources of information have been acknowledged appropriately.
This work is submitted by Prajapati Nishika Pareshkumar, a 4th Year Computer
Engineering student at LDRP-ITR, on 28th May 2025, in association with the internship
program at 1Stop.
.
ABSTRACT
This project, titled "Simple To-Do List Using PHP and HTML5," aims to provide users
with a minimalistic, functional, and easy-to-use task management system that enhances
productivity and personal organization. The application enables users to add, update, delete,
and mark tasks as completed, allowing efficient management of day-to-day activities.
The system is developed using HTML5 and CSS3 for the front-end interface, with PHP as
the back-end scripting language and MySQL for data storage. It incorporates fundamental
CRUD (Create, Read, Update, Delete) operations, session management, and form validation,
making it an ideal example of beginner to intermediate full-stack web development.
This project was undertaken as part of an internship at 1Stop, providing hands-on experience
in building a dynamic web application using real-world technologies. Through this work,
practical knowledge was gained in server-side programming, database integration, and
front-end development techniques.
The primary objective of the project is to demonstrate how essential web development skills
can be applied to create useful, real-life applications while emphasizing the importance of
effective time and task management in both personal and professional settings.
1
ACKNOWLEDGEMENT
I would like to express my sincere gratitude to 1Stop for providing me with the opportunity to
undertake this internship project and gain practical experience in web development.
I am deeply thankful to my project supervisor for their valuable guidance, support, and
encouragement throughout the duration of this project. Their expert advice and constructive
feedback were instrumental in the successful completion of this work.
I also wish to thank my faculty members for their continuous support and motivation. Special
thanks to my family and friends for their understanding and encouragement during this
period.
Lastly, I appreciate the availability of various online resources and tools that facilitated the
development of this project.
This experience has significantly enhanced my technical skills and understanding of
real-world application development.
2
TABLE OF CONTEX
3
8 CONCLUSION 23
9 FUTURE ENHANCEMENT 24
10 BIBLIOGRAPHY 25
SAMPLE CODE 26
4
1. INTRODUCTION
This chapter introduced the development of a simple To-Do List application designed to assist
users in managing their daily tasks efficiently. It highlighted the importance of task
management in improving productivity and organization in both personal and professional
contexts. The objectives of the project were outlined, focusing on creating a user-friendly,
functional, and secure web application using PHP, MySQL, HTML5, and CSS3. Additionally,
the scope of the project was defined to emphasize the basic features implemented, ensuring a
clear understanding of the project’s boundaries. This foundation sets the stage for the detailed
design and implementation discussed in the subsequent chapters.
In today’s fast-paced world, effective time and task management have become crucial for
maintaining productivity and achieving personal and professional goals. Many individuals
struggle to keep track of their daily responsibilities, leading to missed deadlines, increased
stress, and decreased efficiency. The development of a simple and accessible To-Do List
application addresses this common challenge by providing users with a practical tool to
organize and prioritize their tasks.
This project is important because it offers a digital solution that replaces traditional manual
methods such as paper lists or mental notes, which are often prone to loss or forgetfulness. By
using a web-based application, users can access their task list from any device with an internet
connection, ensuring convenience and flexibility.
Moreover, the project enhances user productivity by allowing easy creation, modification, and
tracking of tasks. Features such as marking tasks as completed or pending enable users to
monitor their progress and stay motivated. The inclusion of user authentication ensures data
privacy and personalization, making the system reliable and secure.
From a learning perspective, this project holds significance as it demonstrates the application
of core web development technologies including PHP, MySQL, HTML5, and CSS3. It serves
as a foundational exercise in full-stack development, combining front-end interface design with
back-end server and database management.
Overall, this project contributes to personal productivity tools while simultaneously offering
practical exposure to essential programming concepts, making it valuable for both users and
developers alike.
1
1.2 OBJECTIVE
The primary objective of this project is to design and develop a simple yet effective web-based
To-Do List application that assists users in managing their daily tasks efficiently. The
application aims to provide an intuitive interface that allows users to create, update, delete, and
track tasks with minimal effort, thereby enhancing personal productivity and organization.
● Task Management: Enable users to easily add new tasks with relevant details such as task
name, date, and time, ensuring all important activities are recorded systematically.
● Task Modification: Allow users to edit or update existing tasks to accommodate changes
in their schedules or priorities.
● User Authentication: Implement a secure login system to ensure that each user’s tasks are
private and accessible only after proper authentication.
● Data Persistence: Use a reliable database system (MySQL) to store user credentials and
task information, allowing data to persist across sessions and devices.
● Responsive Design: Develop the user interface using HTML5 and CSS3 to ensure
accessibility and ease of use across various devices and screen sizes.
● Error Handling and Validation: Incorporate form validations and error handling to
maintain data integrity and provide feedback to users during interactions.
Additionally, this project aims to provide practical exposure to full-stack web development
concepts, combining front-end and back-end technologies to build a functional application.
Through this work, the project intends to highlight the importance of digital tools in daily life
and demonstrate how programming skills can be leveraged to solve everyday problems
effectively.
1.3 SCOPE
The scope of this project defines the boundaries and extent of the To-Do List application’s
functionality and development focus. This project is designed as a web-based task management
system with the following key features and limitations:
● User Management: The system supports user registration and login functionality to
provide personalized task management and secure access to individual task lists.
2
● Task Operations: Users can create, view, update, and delete tasks. Each task includes
essential details such as task name, date, time, and status (completed or incomplete).
● Task Filtering: The application allows users to view tasks filtered by specific time frames
such as today, this week, this month, or this year to better organize and prioritize their
workload.
● Data Storage: Task and user information are stored in a MySQL database to ensure
persistence and reliability across user sessions.
● User Interface: The front-end interface is developed using HTML5 and CSS3, focusing
on simplicity and ease of use. The design supports responsiveness for access via desktops
and laptops.
● The application is limited to single-user task management and does not support
collaborative or multi-user task sharing.
● It does not include advanced features such as task reminders, notifications, priority levels,
or integration with external calendars.
● Mobile app versions and offline access capabilities are outside the scope of this project.
● Security measures focus on basic authentication without advanced features like password
recovery, multi-factor authentication, or encryption of stored data.
This scope ensures the project remains focused on delivering a functional, straightforward task
management system suitable for beginners in web development while addressing essential user
needs for daily task organization.
3
2. SYSTEM ANALYSIS
This chapter presents an analysis of the current task management challenges and evaluates
existing solutions to identify gaps that the proposed To-Do List application aims to address.
The problem definition highlights the difficulties users face in organizing and tracking their
daily tasks efficiently. An overview of existing systems reveals that many are either too
complex or lack essential features suited for simple personal use.
The proposed system offers a streamlined, user-friendly web application that enables users to
manage their tasks effectively through functionalities such as task creation, modification,
deletion, and status tracking. Detailed system requirements, including hardware and software
specifications, have been identified to ensure smooth development and deployment.
Overall, this analysis establishes a clear foundation for designing a practical and efficient To-
Do List application that meets user needs while remaining simple and accessible.
In today’s busy lifestyle, individuals often struggle to keep track of their numerous daily tasks
and responsibilities. Without an organized system, important activities can be forgotten or
delayed, leading to reduced productivity, missed deadlines, and increased stress. Traditional
methods, such as writing tasks on paper or relying on memory, are prone to errors and
inefficiency.
Although there are many task management applications available, some are overly complex,
feature-heavy, or not easily accessible to all users, especially those seeking a simple and
straightforward solution.
This project addresses these challenges by developing a Simple To-Do List application that
provides users with an easy-to-use, web-based platform for managing daily tasks. The
application focuses on core functionalities such as adding, editing, deleting, and marking tasks
as completed, ensuring users can stay organized and productive without unnecessary
complexity.
Task management has long been a critical need, and numerous applications exist to help users
organize their daily activities. Popular tools like Microsoft To Do, Google Keep, Trello, and
Evernote offer a variety of features including task creation, reminders, collaboration, and cloud
synchronization. These platforms often include advanced functionalities such as notifications,
priority tagging, and integration with other productivity tools.
However, many of these applications may be overwhelming for users seeking a simple and
lightweight solution. They can require account setups with multiple permissions, rely heavily
on internet connectivity, or include features unnecessary for basic task tracking.
4
Additionally, some existing solutions are mobile-centric or require subscription fees for full
access, limiting their usability for casual or beginner users.
In contrast, this project focuses on building a minimalistic and accessible web-based To-Do
List system using core web technologies like PHP and MySQL. The aim is to provide essential
task management features with a straightforward interface, suitable for users who need a basic,
free, and easily deployable tool without unnecessary complexity.
The proposed system is a Simple To-Do List web application developed using PHP, MySQL,
HTML5, and CSS3. It aims to provide users with a lightweight, user-friendly platform for
managing their daily tasks efficiently. Unlike complex existing solutions, this system focuses
on core functionalities essential for task organization.
Key features of the proposed system include:
● User Registration and Authentication: Secure login system to ensure personalized access
and privacy of tasks.
● Task Management: Users can add new tasks with details like name, date, and time; edit
or delete existing tasks; and mark tasks as completed or incomplete.
● Task Filtering: Ability to view tasks filtered by time periods such as today, this week, or
this month for better planning and prioritization.
● Persistent Storage: All user data and task information are stored in a MySQL database to
maintain consistency and data persistence across sessions.
● Simple and Responsive Interface: The interface is designed to be clean and easy to use,
ensuring accessibility on various devices such as desktops and laptops.
The system is intended to be a practical, beginner-friendly web application that can be easily
deployed and extended. It addresses the limitations of existing systems by providing a
straightforward, no-frills approach to task management suitable for users who need basic
functionality without distractions.
The Simple To-Do List application requires a basic computing environment with a minimum
of 4 GB RAM and a modern processor to ensure smooth development and execution. On the
software side, it depends on a web server like Apache, PHP 7.4 or higher for server-side
scripting, and MySQL for database management. A standard web browser is needed to access
and test the application, while development can be done using popular code editors or IDEs.
5
2.4.1 HARDWARE REQUIREMENTS
RAM 4 GB 8 GB or more
6
Text editor/IDL Code development VS Code, Sublime Text,
PHPStorm, etc.
7
3. SYSTEM DESIGN
The system design phase defines the overall structure and flow of the To-Do List application.
It focuses on translating the system requirements into a blueprint for implementation. The
architectural design outlines how different components—frontend, backend, and database—
interact with each other. The database design includes the creation of tables (user and list) and
relationships to efficiently store and manage user data and tasks. The GUI design ensures a
clean, user-friendly interface, enabling users to interact with the system easily for actions like
task creation, editing, and filtering. Overall, this chapter sets the foundation for structured
development and smooth functionality.
Level 0
Level 1
The architectural design of the Simple To-Do List application follows a three-tier architecture,
ensuring separation of concerns and improving maintainability. The tiers include:
1. Presentation Layer (Frontend):
This layer is built using HTML5 and CSS3. It is responsible for displaying the user
interface and handling user interactions such as form submissions for login, registration,
and task management.
2. Application Layer (Backend):
Developed using PHP, this layer contains the business logic of the application. It processes
user input, handles session management, and communicates with the database. This layer
ensures that each user action is appropriately validated and executed.
3. Data Layer (Database):
8
This layer uses MySQL to store and retrieve data. It includes two main tables—user for
authentication and list for storing task details. The backend uses SQL queries to perform
CRUD operations securely.
Flow of Data:
● A user interacts with the web interface (frontend).
● The frontend sends requests to the PHP scripts (backend).
● The backend processes the request and interacts with the MySQL database.
● The result is returned and displayed on the frontend.
This architecture provides a modular and scalable structure, making the system easy
to manage and extend in the future.
The database design is a critical component of the To-Do List application, as it ensures secure
and organized storage of user credentials and task information. This project uses MySQL to
create and manage the database, which is structured into two main tables: user and list.
9
Table: user
This table handles user authentication and ensures each user has a unique account.
Table: list
This table stores individual tasks, linking them to the respective user via the uname foreign
key.
10
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
11
Task main page
12
Task status page
13
4. PROEJECT 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.
Modules
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.
14
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
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.
15
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.
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
16
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.
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.
17
5. METHODOLOGY
The Simple To-Do List project was developed using the Waterfall Model, a linear and
structured software development approach. This model was ideal for the project as the
requirements were clear and fixed. The development process followed distinct phases including
requirement analysis, system design, implementation, testing, and deployment. Each stage was
completed before moving to the next, ensuring systematic progress and minimal overlap. This
approach helped maintain clarity and organization throughout the project.
HTML5: Used for structuring the web pages and user interface.
CSS3: Applied for styling and enhancing the visual layout.
PHP: Server-side scripting language for handling business logic, session, and database
communication.
MySQL: Database system to store user credentials and task details.
XAMPP: Local development environment integrating Apache server, PHP, and MySQL for
testing and deployment.
18
Provides options to view tasks filtered by date ranges such as Today, This Week, This Month,
and This Year.
Task Status Update Module:
Allows users to mark tasks as “Completed” or “Pending,” helping them track progress easily.
Main Tables:
Relationship:
● The uname field in the list table acts as a foreign key referencing the user table.
● This links each task to its corresponding user.
CRUD Operations:
Unit Testing:
Each module (registration, login, task handling) was tested individually to ensure correct
functionality.
Form Validation Testing:
Checked for empty inputs, invalid characters, and duplicate usernames during registration and
task input.
Database Connectivity Testing:
Ensured proper communication between PHP and MySQL for inserting, retrieving, updating,
and deleting records.
Session Handling Test:
Verified that users cannot access the task dashboard without logging in.
Bug Fixes:
Common bugs like incorrect task status updates, session timeout errors, and invalid redirects
were identified and fixed.
Browser Compatibility Check:
Interface was tested on different browsers (Chrome, Firefox) for consistent layout and
behavior.
19
20
6. SYSTEM TESTING AND VALIDATION TESTING
Testing is the process of executing a program or system with the intent of identifying errors. It
involves evaluating specific attributes or capabilities of a software application and determining
whether the results meet the required expectations. Unlike physical systems, which tend to fail
in predictable ways, software systems may fail in a variety of unpredictable or obscure
manners, making exhaustive testing infeasible.
Testing plays a critical role in software development by verifying whether the system meets its
functional and non-functional requirements. It also checks for consistency and completeness
in the software specifications. One of the primary objectives of testing is to design a minimal
yet effective set of test cases that can detect the maximum number of potential errors.
Unit testing is a software development practice where individual components (or units) of the
application are tested independently to ensure that each part functions correctly. In this project,
the units refer to the various modules and routines such as login, registration, and task
management.
Implementation:
● Login and Registration: Tested user registration, login, and logout features. Checked for
proper handling of incorrect credentials.
● Main Task Page: Verified visibility and functionality of user task action buttons.
● Add Task Page: Tested the ability to add tasks, and validated that required fields (task
name, due date) are not left empty.
● Edit Task Page: Verified successful task modification and ensured that users cannot edit
tasks not assigned to them.
● View Task Page: Confirmed correct display of tasks within the specified timeframes.
● Task Status Page: Checked correct toggling between 'incomplete' and 'complete' statuses.
21
Unit testing helps catch early-stage bugs and ensures each feature works as intended.
Integration testing checks whether various components of the application interact correctly. In
this project, integration testing was essential to ensure smooth transitions and data flow across
modules.
Implementation:
● Login and Registration: Ensured that user sessions were correctly initialized and
managed.
● Main Task Page: Verified that the correct tasks were displayed for logged-in users.
● Add Task Page: Confirmed tasks were correctly inserted into the database and reflected
on the task list.
● Edit Task Page: Checked that edited tasks were saved and updated across the system.
● View Task Page: Ensured task details were shown accurately.
● Task Status Page: Verified status updates did not interfere with unrelated tasks.
This phase ensured cohesive functionality across all components.
Acceptance testing determines if the system meets the end-user requirements. It includes
usability, intuitiveness, and reliability checks from a user’s perspective.
Implementation:
● Login and Registration: Evaluated user interface design, ease of account creation, and
secure login/logout.
● Main Task Page: Verified task overview and navigation.
● Add Task Page: Ensured quick and intuitive task creation.
● Edit Task Page: Assessed ease of modifying tasks.
● View Task Page: Confirmed accurate visibility of task information by date and status.
● Task Status Page: Tested ease and accuracy in changing task statuses.
Feedback from users helped refine the system’s user-friendliness.
Validation ensures that user inputs are accurate, secure, and meet system requirements. It
prevents incorrect data entry and guards against potential bugs or security threats.
Implementation:
22
● Login and Registration: Validated fields such as usernames, passwords, and password
recovery options.
● Main Task Page: Checked for proper function of interactive buttons.
● Add/Edit Task Pages: Ensured required fields were validated, optional fields were
sanitized, and all data was entered correctly.
● View Task Page: Confirmed task filtering by time slot and ensured correct data
presentation.
● Task Status Page: Verified changes in task status were valid and correctly processed.
Proper validation enhanced reliability and safeguarded data integrity.
23
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 ofthe
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.
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.
24
8. 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.
25
9. 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.
26
10. 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/
27
SAMPLE CODE
ADD TASK
<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 placeholder="Task Name" required>';
echo '<input type="date" name="date" required>';
echo '<input type="time" name="time" required>';
type="text"
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'];
name="tname"
$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">
28
</head>
<body><br><center>
<?php
session_start();
$con = mysqli_connect("localhost","root","","todo");
$uname = $_SESSION['uname'];
?>
<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'];
29
$time = $_POST['time'];
$query = "UPDATE list SET date='$date', time='$time' WHERE
tname='$task_name' AND uname='$uname'";
mysqli_query($con, $query);
}
}
?>
</center></body>
</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>';
30
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>';
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>';
}
31
echo '</table>';
?>
</center></body>
</html>
32