0% found this document useful (0 votes)
7 views26 pages

Project File Cs - Aditi

The document is a project report titled 'Planner' submitted by Aditi Sakpal for the AISSC Exam 2021, detailing a computer science project designed to help users manage tasks and assignments. It includes sections such as introduction, application, hardware and software requirements, source code, and output screenshots. The project utilizes Python for the front-end and MySQL for the back-end, providing functionalities like task entry, status updates, and displaying important tasks.

Uploaded by

Deepti Korde
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)
7 views26 pages

Project File Cs - Aditi

The document is a project report titled 'Planner' submitted by Aditi Sakpal for the AISSC Exam 2021, detailing a computer science project designed to help users manage tasks and assignments. It includes sections such as introduction, application, hardware and software requirements, source code, and output screenshots. The project utilizes Python for the front-end and MySQL for the back-end, providing functionalities like task entry, status updates, and displaying important tasks.

Uploaded by

Deepti Korde
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/ 26

083

PROJECT REPORT ON
PLANNER
SUBMITTED BY:
ADITI SAKPAL
CLASS: XII SCIENCE
INDEX

SERIAL CONTENT PAGE NO.


NO.

1 Certificate 1

2 Acknowledgement 2

3 Declaration 3

4 Introduction 4

5 Application 5

6 Hardware and software 6


requirements

7 Front-End and Back-end 7

8 Modules and In-built functions 8

9 Source Code 9

10 Output Screenshots 19

11 Bibliography 26
CERTIFICATE

COMPUTER SCIENCE PROJECT

FOR AISSC EXAM 2021

This is to certify that the Computer Science Project, entitled Planner, was done by Aditi

Sakpal, of Grade XII Science, Board Registration Number __________________________,

under my guidance and supervision. It is further certified that the work is original.

Name and Signature of the teacher Name and signature of the


Principal:

Ms. Nirmal Waddan

______________________ _____________________

Date: School Seal


ACKNOWLEDGEMENT

I would like to express my special thanks of gratitude to my teacher


Mrs Pooja Arora as well as our principal Mrs Nirmal Waddan and
our vice principal Mrs Abira Mishra who gave me the golden
opportunity to do this wonderful project on the topic Planner, which
also helped me in doing a lot of Research and I came to know about
so many new things and am really thankful to them.

Secondly, I would also like to thank my parents and friends who


helped me a lot in finalizing this project within the limited time frame.

Last but not the least, I would like to thank all those who had helped
directly or indirectly towards the completion of this project
DECLARATION

I hereby declare that the project word entitled PLANNER submitted


to the Department of Computer Science, The Kalyani School, Manjiri
is a record of the original work done by me under the guidance of Mrs
Pooja Arora. All the coding is result of my personal efforts.

Aditi Sakpal
Student
XII-Science
INTRODUCTION

This project is a Planner.

Due to the pandemic, almost everyone experienced a change of routine. Because


of which many students such as me had a hard time keeping track of and,
remembering the assignment given by school, or tasks set by themselves, as day
and night seemed to have blend into one.

And due to this dilemma came the inspiration for this project.

This is simple to use and serves like an assignment record book and reminder for
assignment or self-appointed tasks.
APPLICATION

The user enters tasks (assignments etc.) which are then entered into table in
MySQL a database management system.

Queries are then generated to keep it user-friendly and simple to use.

The program consists of the following option:

1. Enter a new task


2. Shift task to done
3. Shift pending task to done
4. Show tasks
5. show tasks done
6. Show pending tasks
7. Show tasks that are important
8. Exit

Thus, a total of eight (8) options are there for the user to generate queries and use
the program accordingly.
HARDWARE AND SOFTWARE REQUIREMENTS

Python

Operating System: Windows/Mac/Linux

RAM: 1GB or more memory


Hard-disk drive: 250 GB

Follow these steps to install on your machine:


• Visit python.org/download, to select the download file

• Find the downloaded file on your file system and start the installer

• Keep a close eye on the multi-step installer and read the steps to complete the
installation
• Lastly, launch the installer to start the python command line

Or must be on a platform which has a python interpreter.

MySQL

Hard Disk - SQL Server requires a minimum of 6 GB of available hard-disk


space.
Monitor- SQL Server requires Super-VGA (800x600) or higher resolution
monitor
Drive- A DVD drive, as appropriate, is required for installation from disc

Installation of SQL Server is supported on x64 processors only. It is no longer


supported on x86 processors.

The following software requirements apply to all installations:

.NET Framework

Network Software
FRONT-END AND BACK-END

Python is used as front- end


MySQL is used as back-end
MODULES AND IN-BUILT FUNCTIONS

Modules imported:

mysql.connector

calendar

datetime

from datetime import date

from tabulate import tabulate

User defined functions:

create_dbnt() - create database and required tables

data_entry_tasks() - takes values inputed by used and inserts in table tasks

data_entry_pend() - If it is past the due date entered is shifts into pend table
while being deleted in pend table.

data_entry_done() - enters tasks once done by user while deleting it from the task
table.

data_entry_done2() - enters tasks once done by user while deleting it from pend
table.

show_tasks() - shows records from table tasks

show_pend() - shows records from table pend.

show_done() - shows records from table tasks.

all_imp_task() - collects the value and shows the tasks which are important

calls upon functions imp_tasks, imp_pend,imp_done.


SOURCE CODE

"""
Computer Science Project
Developed by - Aditi Sakpal of XII-Science, The Kalyani School, Manjri
For - CBSE Senior Secondary Examination of Computer Science
Project Title - Planner
Purpose - To keep track of assignments/tasks. Automatically shifts
to pending if due date is crossed.
Inspired By - Unsystematic and lack of timely submissions due to
the pandemic
________________________________________________________________

Special requirements:
* mysql.connector
* tabulate
This script requires the above mentioned to be installed within the
python environment you are running this script in.
________________________________________________________________
"""

#Importing
import mysql.connector
import calendar
import datetime
from datetime import date
from tabulate import tabulate
#Connecting sql and python
mydb=mysql.connector.connect(host='localhost',user='root',passwd='password1
23')
print(mydb)
cursor=mydb.cursor()
#print(calendar.calendar(2020))
current_date = date.today()

#Create database and table


def create_dbnt():
"""creates database and tables required are generated."""
cursor.execute("create database planner")
cursor.execute("use planner")
cursor.execute("create table tasks(t_id int not null PRIMARY KEY,t_name
varchar(20) not null,t_date date not null,important varchar(3))")
cursor.execute("create table pend(t_id int not null,p_name varchar(20) not
null,date_due date not null,important varchar(3))")
cursor.execute("create table done(t_id int not null,d_name varchar(20) not
null,date_done date not null,was_important varchar(3))")
print("Database planner and 3 tables created successfully")

#Add tasks
def data_entry_tasks():
"""Takes values inputted by used and inserts in table tasks"""
cursor.execute("use planner")
task_id=int(input("Enter the id of the task : "))
task_name=input("Enter the name of the task : ")
important=input("Enter important (yes/no) : ")
date=input("Enter date(YYYY-MM-DD): ")
try:
sql=("INSERT INTO tasks(t_id,t_name,t_date,important) VALUES
(%s,%s,%s,%s)",(task_id,task_name,date,important))
cursor.execute(*sql)
mydb.commit()
print("task entered")
except ( mysql.connector.Error) as err :
print("Error")
print(err)

#Add to pending while deleting from tasks


def data_entry_pend():
"""
If it is past the due date entered is shifts into pend table
while being deleted in pend table."""
cursor.execute("use planner")
x=datetime.date.today()
sql1= "INSERT INTO pend SELECT * FROM tasks WHERE t_date<%s"
cursor.execute(sql1,(x,))
sql2= "DELETE FROM TASKS WHERE t_date<(%s)"
cursor.execute(sql2,(x,))
mydb.commit()

#Add to done while deleting from tasks or pending


def data_entry_done():
'''
enters tasks once done by user while deleting it from the task table'''
cursor.execute("use planner")
ta_id=int(input("enter task to shift to done : "))
sql1= "INSERT INTO done SELECT * FROM tasks WHERE t_id=%s"
cursor.execute(sql1,(ta_id,))
sql2= "DELETE FROM TASKS WHERE t_id=(%s)"
cursor.execute(sql2,(ta_id,))
mydb.commit()
print("task shifted to done")
print("choose option 5 to see all the tasks done")

def data_entry_done2():
'''
enters tasks once done by user while deleting it from pend table'''
cursor.execute("use planner")
ta_id=int(input("enter task to shift to done : "))
sql1= "INSERT INTO done SELECT * FROM pend WHERE t_id=%s"
cursor.execute(sql1,(ta_id,))
sql2= "DELETE FROM PEND WHERE t_id=(%s)"
cursor.execute(sql2,(ta_id,))
mydb.commit()
print("pending task completed.")
print("choose option 5 to see all the tasks done")

#Showing data
def show_tasks():
'''shows records from table tasks'''
cursor.execute("use planner")
cursor.execute("select * from tasks order by t_id")
record=cursor.fetchall()
l1=[]
for i in record:
x=l1.append(i)

if len(l1)==0:
print("no records there")
else:
print("showing tasks")
headers= ['id',"task","date","important"]
print(tabulate(l1,headers=headers,tablefmt="grid"))

#print('last id entered is = ',l1[-1:][0][0])

def show_pend():
'''shows records from table pend'''
cursor.execute("use planner")
cursor.execute("select * from pend order by t_id")
record=cursor.fetchall()
l2=[]
for i in record:
y=l2.append(i)

if len(l2)==0:
print("no records there")
else:
print("showing pending tasks")
headers= ['id',"task","date","important"]
print(tabulate(l2,headers=headers,tablefmt="grid"))

def show_done():
'''shows records from table done'''
cursor.execute("use planner")
cursor.execute("select * from done order by t_id")
record=cursor.fetchall()
l3=[]
for i in record:
z=l3.append(i)

if len(l3)==0:
print("no records there")
else:
print("showing tasks completed")
headers= ['id',"task","date","important"]
print(tabulate(l3,headers=headers,tablefmt="grid"))

#Showing important tasks


l4=[]
def imp_tasks(c):
cursor.execute("use planner")
a='yes'
sql3= "select * from tasks where important=%s"
cursor.execute(sql3, (a,))
record=cursor.fetchall()
for i in record:
c.append(i)
return c

l5=[]
def imp_pend(d):
cursor.execute("use planner")
a='yes'
sql4 = "select * from pend where important=%s"
cursor.execute(sql4, (a,))
record=cursor.fetchall()
for i in record:
d.append(i)
return d

l6=[]
def imp_done(e):
cursor.execute("use planner")
a='yes'
sql5 = "select * from done where was_important=%s"
cursor.execute(sql5, (a,))
record=cursor.fetchall()
for i in record:
e.append(i)
return e

def all_imp_task():
'''collects the value and shows the tasks which are important'''
imp_tasks(l4)
imp_pend(l5)
imp_done(l6)
l7=l4+l5+l6
l7.sort()
print("showing tasks that are important")
headers= ['id',"task","date","important"]
print(tabulate(l7,headers=headers,tablefmt="fancy_grid"))

#Main
def main():
if (mydb):
print("Connection Successful")
print(calendar.month(2020,current_date.month))
d2 = current_date.strftime("%B %d, %Y")
print("Today's date is", d2)
print(" ")
#create_dbnt()
data_entry_pend()
show_pend()
reply='yes'
while(reply=='yes'):
print("Choose the option to do the following tasks")
print("1. Enter a new task")
print("2. Shift task to done")
print("3. Shift pending task to done")
print("4. Show tasks")
print("5. show tasks done")
print("6. show pending tasks")
print("7. show tasks that are important")
print("8. exit")
ch=int(input("enter your choice : "))
if (ch==1):
data_entry_tasks()
print("====================================================
============================")
elif (ch==2):
data_entry_done()

print("====================================================
============================")
elif (ch==3):
data_entry_done2()

print("====================================================
============================")
elif (ch==4):
show_tasks()

print("====================================================
============================")
elif (ch==5):
show_done()

print("====================================================
============================")
elif (ch==6):
show_pend()

print("====================================================
============================")
elif (ch==7):
all_imp_task()

print("====================================================
============================")
elif (ch==8):
exit()
else:
print("option not available")
reply=input("Do you want to explore more yes/no : ")
else:
print("connection failed")

main()
OUTPUT SCREENSHOTS
1. Enter new task:

2. Shift task to done:

3. Shift pending task to done:

4. Show tasks:
5. Show tasks done:
6. Show pending tasks:

7. Show tasks that are important:


8. Exit
BIBLIOGRAPHY
• Computer Science with Python Class XII by Preeti Arora
• Computer Science with Python Class XI Preeti Arora
• https://docs.microsoft.com/en-us/sql/sql-server/install/hardware-and-
software-requirements-for-installing-sql-server?view=sql-server-ver15

You might also like