0% found this document useful (0 votes)
14 views17 pages

To-Do List

Python project report

Uploaded by

luckyharsha621
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
0% found this document useful (0 votes)
14 views17 pages

To-Do List

Python project report

Uploaded by

luckyharsha621
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/ 17

A

PYTHON PROJECT REPORT

On

"TO-DO LIST"

Submitted in partial fulfillment of the requirements for the award of the degree of

BACHELOR OF TECHNOLOGY
In

CSE (AI&DS)

BY

22BH1A7212 J.BHARATH KUMAR

22BH1A7223 P.NAVEEN KUMAR

22BH1A7202 B.ARAVIND REDDY

22BH1A7203 C.HARSHA VARDHAN REDDY

22BH1A7230 T.RISHWANTH

UNDER THE GUIDENCE OF

DEPARTMENT OF CSE(AI&DS)

ST.MARY’S ENGNEERING COLLEGE


(Approved by AICTE, NEW DELHL & Affiliated to JNTU-HYDERABAD, Accredited by NAAC)

Deshmukhi (V), Pochampally (M), Yadadri Bhuvanagiri (D), Telangana -508284

[2023-24]
CERTIFICATE
This is to certify that project report entitled "TO-DO LIST” is bonafide work
carried out in the II/II semester by J.BHARATH KUMAR(22BH1A7212),
P.NAVEEN KUMAR(22BH1A7223), B.ARAVIND REDDY (22BH1A7202),
C.HARSHA VARDHAN REDDY (22BH1A7203),T.RISHWANTH(22BH1A7230)
in partial fulfillment award of Bachelor of Technology in CSE (AI&DS) from St.
Mary's Engineering College during the academic year 2023-2026.

INTERNAL GUIDE HEAD OF THE DEPARTMENT

EXTERNAL EXAMINER
ACKNOWLEDGEMENT

The satisfaction that accompanies the successful completion of this project


would be incomplete without the mention of the people who made it possible.
We consider it as a privilege to express our gratitude and respect to all those
who guided us in the completion of the project.

We are thankful to our internal guide _____________, in the St. Mary's


Engineering College for having been of a source encouragement and for
insisting on vigour to do this project work.

We are obliged to Dr. K. Suresh Kumar, Head of the Department of


CSE(AI&DS), St. Mary's Engineering College for his guidance and
suggestions throughout the project work.

We take this opportunity to express a deep sense of gratitude to Dr. T.N.


Srinivas Rao, Principal of St. Mary's Engineering College for allowing us to do
this project and for this affectionate encouragement in presenting this
project work.

We convey our sincere thanks to Sri Rev. K.V.K RAO, Chairman of St. Mary's
Engineering College for giving us a learning environment to grow out self
personally as well as professionally.

We would like to express our thanks to all staff members who have helped
us directly and indirectly in accomplishing this project work. We also
extended our sincere thanks to our parents and friends for their moral
support throughout the project work. Above all, we thank god almighty for
his manifold mercies in carrying out this project work successfully.

J.BHARATH KUMAR 22BH1A7212

P.NAVEEN KUMAR 22BH1A7223

B.ARAVIND REDDY 22BH1A7202

C.HARSHA VARDHAN REDDY 22BH1A7203

T.RISHWANTH 22BH1A7230
DECLARATION

This is to certify that the work report in the thesis titled, "TO-DO LIST",
submitted to the Department of CSE (AI&DS), St. Mary's Engineering College
in fulfillment of degree for the award of Bachelor of Technology, is a
bonafide work done by us. No part of the thesis is copied from books,
journals, or the internet and wherever the portion is taken, the same has been
duly referred in the text. The reported results are based on the project work
entirely done by us and not copied from any other sources. Also, we declare
that the matter embedded in this thesis has not been submitted by us in full
or partially there for the award of any degree from any other institution or
university previously

J.BHARATH KUMAR -22BH1A7212

P.NAVEEN KUMAR -22BH1A7223

B.ARAVIND REDDY -22BH1A7202

C.HARSHA VARDHAN REDDY -22BH1A7203

T.RISHWANTH -22BH1A7230
INDEX
ABSTARCT 1

To-Do List Project

INTRODUCTION 2

PROBLEM STATEMENT 3

OBJECTIVES 4

SOFTWARE REQUIREMENTS 5

SOFTWARE ENVIRONMENT 6

COMPLETE CODE 7-9

10
SAMPLE OUTPUT

CONCLUSION 11
Abstract
To-Do List Project

The To-Do List project is a simple yet effective console-


based application designed to manage and organize
tasks. This system allows users to add tasks, mark
them as completed, and view the list of tasks with their
respective statuses. By implementing this application,
users can efficiently manage their daily tasks, ensuring
better organization and productivity.
Key features of the To-Do List include task creation with
descriptions and due dates, task completion tracking,
and task viewing with detailed information. The system
is built using Python, leveraging its capabilities to
provide a user-friendly and straightforward interface.
The implementation of the To-Do List project offers
significant benefits, such as improved task
management, enhanced productivity, and better
organization of daily activities. Despite being a simple
application, it serves as a practical tool for individuals
looking to streamline their task management process.
In conclusion, this abstract provides a succinct overview of the
essential features and benefits of a project to-do list. By
leveraging the project to-do list effectively, teams can
streamline workflows, enhance collaboration, and achieve
successful project outcomes with confidence and ease.
Introduction
The To-Do List project, developed as a console-based
application in Python, aims to provide a basic yet functional
task management system. This project focuses on creating an
easy-to-use system that allows users to add tasks, mark them
as completed, and view all tasks with their statuses.
The console-based application provides a lightweight and
straightforward interface, making it accessible for users
without the need for a graphical user interface. Key features
include real-time task creation, completion tracking, and
viewing tasks. Utilizing Python's built-in libraries and modules,
the application handles data storage, retrieval, and
manipulation efficiently.
This allows you to organise and complete the most crucial
tasks first. To-do lists can be used to improve time
management because all of your task sare laid out clearly in
advance.
Problem Statement
Managing daily tasks can be challenging without a proper
system in place. Traditional methods such as pen-and-paper
lists or memory-based task management are prone to errors,
forgetfulness, and lack of organization. These inefficiencies
can lead to missed deadlines, decreased productivity, and
increased stress.
Objective
To address these challenges, we propose the development of a
Python-based console application for a To-Do List. This system
aims to:
 Streamline Task Management: Provide an efficient way to
add and track tasks.
 Enhance Productivity: Help users stay organized and on
top of their tasks.
 Improve Task Organization: Allow users to view tasks
with their statuses and due dates.
By creating a console-based application, this project aims to
deliver a simple, reliable, and effective solution for individuals
looking to manage their tasks better.
Software Requirements
 Python 3.8+: The core programming language for
developing the application.
Software Environment
 Operating System: The application should be compatible
with major operating systems, including Windows, macOS,
and Linux.
 Integrated Development Environment (IDE):
Recommended IDEs include PyCharm, VS Code, or any
text editor that supports Python development, such as
Sublime Text or Atom.
 Python Package Manager (pip): For installing and
managing Python packages and dependencies.
 Version Control System (Git): For tracking changes,
collaborating with others, and maintaining the project’s
source code.
Complete Code
class ToDoList:
def __init__(self):
self.tasks = {} # Stores task info with task ID as key
self.current_task_id = 0

def add_task(self, description, due_date, priority="medium", category="uncategorized"):


self.current_task_id += 1
task_info = {
"id": self.current_task_id,
"description": description,
"due_date": due_date,
"priority": priority,
"category": category,
"creation_date": datetime.datetime.now(),
"completed": False
}
self.tasks[self.current_task_id] = task_info
return f"Task '{description}' added successfully with ID {self.current_task_id}."

def mark_task_completed(self, task_id):


if task_id in self.tasks:
self.tasks[task_id]['completed'] = True
return f"Task ID {task_id} marked as completed."
else:
return "Task ID not found."
def delete_task(self, task_id):
if task_id in self.tasks:
del self.tasks[task_id]
return f"Task ID {task_id} deleted successfully."
else:
return "Task ID not found."

def view_tasks(self):
for task_id, task_info in self.tasks.items():
status = "Completed" if task_info['completed'] else "Pending"
print(f"ID: {task_id}, Description: {task_info['description']}, Due Date: {task_info['due_date']},
Priority: {task_info['priority']}, Category: {task_info['category']}, Status: {status}, Creation Date:
{task_info['creation_date']}")

def search_tasks(self, query):


matching_tasks = []
for task_id, task_info in self.tasks.items():
if query.lower() in task_info['description'].lower():
matching_tasks.append(task_info)
return matching_tasks

def main():
todolist = ToDoList()

while True:
print("\nToDo List")
print("1. Add Task")
print("2. Mark Task Completed")
print("3. Delete Task")
print("4. View Tasks")
print("5. Search Tasks")
print("6. Exit")

choice = input("Enter your choice: ")

if choice == '1':
description = input("Enter task description: ")
due_date = input("Enter due date (YYYY-MM-DD): ")
priority = input("Enter task priority (high/medium/low): ")
category = input("Enter task category (e.g., work, personal, shopping): ")
print(todolist.add_task(description, due_date, priority, category))
elif choice == '2':
task_id = int(input("Enter task ID: "))
print(todolist.mark_task_completed(task_id))
elif choice == '3':
task_id = int(input("Enter task ID to delete: "))
print(todolist.delete_task(task_id))
elif choice == '4':
todolist.view_tasks()
elif choice == '5':
query = input("Enter search query: ")
matching_tasks = todolist.search_tasks(query)
if matching_tasks:
print("Matching tasks:")
for task in matching_tasks:
print(f"ID: {task['id']}, Description: {task['description']}")
else:
print("No matching tasks found.")
elif choice == '6':
print("Exiting...")
break
else:
print("Invalid choice. Please try again.")

if __name__ == "__main__":
main()
Sample Output
Conclusion
The To-Do List project provides a straightforward solution for
managing tasks effectively. This Python-based console
application allows users to add tasks, mark them as completed,
and view all tasks with their statuses. By offering a simple and
efficient interface, the system enhances productivity and
organization, making it an invaluable tool for individuals
seeking to manage their daily tasks more effectively.

You might also like