Documentation Final
Documentation Final
ABSTRACT
It's sometimes hard to know which of the many items in your to-do list you should do
now. This could be because you have other events coming up you need to attend, and
there isn't time to do the most important things. Instead, you might find yourself wasting
time or doing an unimportant smaller task, when there is something more important you
could have completed if you knew about it.
Certain tasks require more concentration and effort than others. If at any given time you
do not feel up to completing a task that requires significant focus, you should do the most
important thing that requires the least effort. This type of prioritizing isn't often managed
by todo lists and that's one of the major changes we hoped to have in ours.
My goal was to create an Python program that blends todo lists in a more useful manner.
Per early ideation sessions focused on user requirements, we identified a set of features
that would add the most value to the program.
1
2. INTRODUCTION
2.1. PYTHON
Python is an interpreted, high-level, general-purpose programming language. Created
by Guido van Rossum and first released in 1991, Python's design philosophy
emphasizes code readability with its notable use of significant whitespace. Its language
constructs and object-oriented approach aim to help programmers write clear, logical code
for small and large-scale projects.
Python is dynamically typed and garbage-collected. It supports multiple programming
paradigms, including procedural, object-oriented, and functional programming. Python is
often described as a "batteries included" language due to its comprehensive standard library.
Python was conceived in the late 1980s as a successor to the ABC language.
Python 2.0, released in 2000, introduced features like list comprehensions and a garbage
collection system capable of collecting reference cycles. Python 3.0, released in 2008, was a
major revision of the language that is not completely backward-compatible, and much
Python 2 code does not run unmodified on Python 3.
Python Features
Easy-to-learn − Python has few keywords, simple structure, and a clearly defined syntax.
This allows the student to pick up the language quickly.
Easy-to-read − Python code is more clearly defined and visible to the eyes.
Easy-to-maintain − Python's source code is fairly easy-to-maintain.
A broad standard library − Python's bulk of the library is very portable and cross-platform
compatible on UNIX, Windows, and Macintosh.
Interactive Mode − Python has support for an interactive mode which allows interactive
testing and debugging of snippets of code.
Portable − Python can run on a wide variety of hardware platforms and has the same
interface on all platforms.
Extendable − you can add low-level modules to the Python interpreter. These modules
enable programmers to add to or customize their tools to be more efficient.
Databases − Python provides interfaces to all major commercial databases.
2
GUI Programming − Python supports GUI applications that can be created and ported to
many system calls, libraries and windows systems, such as Windows MFC, Macintosh, and
the X Window system of Unix.
Scalable − Python provides a better structure and support for large programs than shell
scripting.
Python graphical user interfaces (GUIs)
Tkinter − Tkinter is the Python interface to the Tk GUI toolkit shipped with Python. We
would look this option in this chapter.
wxPython − This is an open-source Python interface for wxWindows
JPython − JPython is a Python port for Java which gives Python scripts seamless access to
Java class libraries on the local machine
2.2. Overview of Python modules
Some Predefined Modules of Python:
3
2.3 MYSQL
MySQL is currently the most popular open source database software. It is a multi-
user, multithreaded database management system. MySQL is especially popular on the web.
It is one of the parts of the very popular LAMP platform. Linux, Apache, MySQL and PHP
or WIMP platform Windows, Apache, MySQL and PHP. MySQL AB was founded by
Michael Widenius (Monty), David Axmark and Allan Larsson in Sweden in year 1995.
MySQL is a relational database management system based on SQL – Structured Query
Language. The most common use for MySQL however, is for the purpose of a web database.
MYSQL has been used in this project to store the details of the vehicles in form of a table.
Features of MySQL:
Open Source & Free of Cost: It is Open Source and available at free of cost.
Portability: Small enough in size to install and run it on any types of Hardware and OS
like Linux, MS Windows or Mac etc.
Query Language: It supports SQL (Structured Query Language) for handling database.
It has been used in this program to perform operations like insert, delete, and update and
search the details of the vehicles that had been parked or to be parked.
4
3. SYSTEM REQUIREMENTS
HARDWARE REQUIREMENTS
RAM : 4.00 GB
SOFTWARE REQUIREMENTS
PYTHON: 3.10.1
NOTEPAD: WINDOWS
5
4. OBJECTIVE OF THE PROJECT
The objective this project is to allow the different kinds of persons to maintaina clean and
structured detail of their to do list software. This project is to make users to have easy
access in remembering their tasks,it adds many benefit slike reminding your tasks,
Futher you can also arrange it to own perferences and make ease to yourself. You can
ask it to give a random tasks.This reduces your workload and customize your schedule
optimally.
Write programs utilizing modern software tools.
1. Apply simple principles effectively when developing small to medium sized projects.
2. Write effective procedural code to store small to medium sized informations.
3. Students will demonstrate a breadth of knowledge in computer science, as exemplified
in the areas of systems theory and software devolepment.
4. Students will demonstrate ability to conduct a research or applied computer science
project, requiring and presentation skills which exemplify scholarly style in computer
science.
6
5. MODULES PURPOSES AND CODING
Modules Used:
Tkinter
Random
Messagebox
Modules Purposes:
TKINTER: This framework provides Python users with a simple way to create GUI
elements using the widgets found in the Tk toolkit. Tk widgets can be used to construct
buttons, menus, data fields, etc. in a Python application.
MESSSAGE BOX: MessageBox Widget is used to display the message boxes in the
python applications. This module is used to display a message using provides a number of
functions.
7
SOURCE CODE:
import tkinter
import random
from tkinter import messagebox
def update_tasks():
clear_listbox()
for task in tasks:
lb_tasks.insert("end", task)
numtask = len(tasks)
label_dsp_count['text'] = numtask
def clear_listbox():
lb_tasks.delete(0, "end")
def add_task():
label_dsply["text"] = ""
Ntask = text_input.get()
if Ntask != "":
tasks.append(Ntask)
update_tasks()
else:
label_dsply["text"] = "please enter the text"
text_input.delete(0, 'end')
def delete_all():
conf = messagebox.askquestion(
'delet all??', 'are you sure to delete all task?')
print(conf)
if conf.upper() == "YES":
global tasks
tasks = []
update_tasks()
else:
pass
def delete_one():
de = lb_tasks.get("active")
if de in tasks:
tasks.remove(de)
update_tasks()
8
def sort_asc():
tasks.sort()
update_tasks()
def sort_dsc():
tasks.sort(reverse=True)
update_tasks()
def random_task():
randtask = random.choice(tasks)
label_dsply["text"] = randtask
def number_task():
numtask = len(tasks)
label_dsply["text"] = numtask
def save_act():
savecon = messagebox.askquestion(
'Save Confirmation', 'save your progress?')
if savecon.upper() == "YES":
with open("E:\SaveFile.txt", "w") as filehandle:
for listitem in tasks:
filehandle.write('%s\n' % listitem)
else:
pass
def load_info():
messagebox.showinfo(
"info", "created by NI" ,)
def load_act():
loadcon = messagebox.askquestion(
'Save Confirmation', 'save your progress?')
if loadcon.upper() == "YES":
tasks.clear()
9
else:
pass
def exit_app():
confex = messagebox.askquestion(
'Quit Confirmation', 'are you sue you want to quit?')
if confex.upper() == "YES":
root.destroy()
else:
pass
root = tkinter.Tk()
# change root background col and ect
root.configure(bg="cyan")
root.title("TASK LIST")
root.geometry("450x450")
# database
tasks = []
# tasks = ['tes 1', 'best2', 'dest3']
text_input = tkinter.Entry(root,)
text_input.grid(row=1, column=1,ipadx=20,ipady=40)
# button section
text_add_bttn = tkinter.Button(
root, text="add todo", bg="white", fg="green", width=20,height=2, command=add_task)
text_add_bttn.grid(row=1, column=0)
delone_bttn = tkinter.Button(
root, text="Done Task", bg="white",fg="green", width=20,height=2,
command=delete_one)
10
delone_bttn.grid(row=2, column=0)
delall_bttn = tkinter.Button(
root, text="Delete all", bg="white",fg="green", width=20,height=2, command=delete_all)
delall_bttn.grid(row=3, column=0)
random_bttn = tkinter.Button(
root, text="random task", bg="White",fg="green", width=20,height=2,
command=random_task)
random_bttn.grid(row=6, column=0)
number_task = tkinter.Button(
root, text="Number of Task", bg="white",fg="green", width=20,height=2,
command=number_task)
number_task.grid(row=7, column=0)
save_button = tkinter.Button(
root, text="save TodoList", bg="white",fg="green" ,width=20,height=2,
command=save_act)
save_button.grid(row=10, column=1)
load_button = tkinter.Button(
root, text="Load LastTodolist", bg="white",fg="green", width=20,height=2,
command=load_act)
load_button.grid(row=10, column=0)
info_button = tkinter.Button(
root, text="info", bg="white",fg="green", width=20,height=2, command=load_info)
info_button.grid(row=11, column=0, columnspan=2)
lb_tasks = tkinter.Listbox(root)
lb_tasks.grid(row=2, column=1, rowspan=7)
# main loop
11
6. RESULTS AND DISCUSSIONS
12
13
14
7. CONCLUSION AND FUTURE ENHANCEMENT
It has been a matter of immense pleasure, honour and challenge to have this opportunity
to take up this project and complete it successfully. While developing this project I have
learnt a lot about online shopping system, I have also how to make it user friendly (easy
to use and handle) by hiding the complicated parts of it from the users. During the
development process I studied carefully and understood the criteria for making software
more demanding, I also realized the importance of maintaining a minimal margin for
error.
8. BIBLIOGRAPHY
15
www.github.com
www.python.org
www.python4csip.com
www.codingshiksha.com
www.stackoverflow.com
www.geeksforgeeks.com
16