To-Do List Manager
To-Do List Manager
SESSION – 2024-25
COMPUTER SCIENCE PROJECT: A
PROJECT REPORT ON: TO – DO LIST
MANAGER
ROLL NO – 18
CLASS- XII B
Name:
Sign:
INDEX
About Python
About MYSQL
Synopsis
Project Overview/Description
System Requirements
Backend Details
Python Packages And
Functions Used
Source Code
Output Screenshots
User Manual
Future Enhancements
Bibliography
Conclusion
ABOUT PYTHON
Python is a dynamic, high-level, free open source, and
interpreted programming language. It supports object-
oriented programming as well as procedural-oriented
programming.
Features in Python :
2. Easy to code
3. Easy to Read
4. Object-Oriented Language
6. High-Level Language
8. Easy to Debug
Advantages of Python
Programming Language
Disadvantages of Python :
Open source means it’s possible for anyone to use and modify
the software. Anybody can download MySQL software from
the internet and use it without paying for it. User can also
change its source code to suit your needs.
PROJECT SYNOPSIS
Project Overview:
The To-Do List Manager is a Python-based application
that employs a MySQL database for storing and
managing tasks. Users can interact with the system
through an intuitive menu, performing various
operations such as adding tasks, listing existing tasks,
setting reminders, marking tasks as completed, and
updating task details.
Key Features:
1. Add Tasks: Users can input task titles, descriptions,
and due dates to add new tasks to the system.
Technology Stack:
- Programming Language: Python
- Database: MySQL
- Library: mysql.connector
User Interface:
The application features a user-friendly menu-driven
interface, allowing users to easily navigate and perform
desired actions.
Code Structure:
The code is organized into functions, enhancing
readability and facilitating code reuse. Proper resource
management ensures the closure of database
connections.
SYSTEM REQUIREMENTS
- RAM: 1 GB
Software Requirements:
PACKAGE / MODULE
Display_reminders():reminders are
implemented as part of the project , this
function display reminders to the user at the
appropriate times
List_tasks(cursor):
this function lists all tasks
stored in the database.
Delete_task(cursor,taskid):func
tion deletes a task from the
database based on the task id
given by the user
Source
code
import
mysql.connector
import datetime
# MySQL
Configuration
config = {
"host": "localhost",
"user": "root",
"password":
"flash",
"database":
"todo_db",
# Connect to MySQL
conn =
mysql.connector.connect(**confi
g) cursor = conn.cursor()
due_date, False)
cursor.execute(sql, values)
conn.commit()
due_date, False)
cursor.execute(sql, values)
conn.commit()
# Function to List
Tasks def
list_tasks():
tasks"
cursor.execute(sql)
tasks = cursor.fetchall()
if not tasks:
print("No tasks
found.") else:
print("\nAll
in tasks:
# Function to Set a
Reminder def
set_reminder(task_id):
current_time = datetime.datetime.now()
task =
cursor.fetchone()
if task:
task_title, due_date
current_time:
Completed def
mark_task_completed(task_id)
conn.commit()
cursor.execute(sql, (new_title,
# Main Menu
while True:
print("\nTo-Do List
Reminder")
print("6. Exit")
if choice == "1":
add_task(title, description,
successfully!")
elif choice
==“
2”
list_tasks()
set_reminder(task_id)
mark_task_completed(task_id)
")
elif choice==”6”:
break
#clean up
cursor.close()
conn.close()
SCREENSHOTS
Main menu:
Add task:
List tasks:
Set reminder :
4.Main Menu:
- The program will present a menu with the
following options:
5. Adding a Task:
- Choose option 1 from the menu.
6. Listing Tasks:
- Choose option 2 from the menu.
7. Setting Reminders:
- Choose option 3 from the menu.
9 . Updating a Task:
a. Choose option 5 from the menu.
b. Enter the task ID and provide the new
title and due date.
10 Exiting the Program:
- Choose option 6 from the menu to exit the
program.
11. Clean-Up:
- The program automatically closes database
connections upon exit.
TEXT BOOKS
Sites
➢ www.cbseprojectguide.com
➢ www.python4csip.com
➢ www.codewithfaraz.com
Conclusion
The To-Do List Reminder project offers a
practical solution for individuals seeking a
straightforward and efficient way to
organize and track their tasks. The
integration of a MySQL database provides
a structured approach to task
management, while the user-friendly
interface and comprehensive set of
features contribute to a positive user
experience.