Documentation
Documentation
1. INTRODUCTION
Our project is entitled as Scriby Scoop.
Introducing our innovative educational app designed to make learning engaging and
interactive! Tailored for students of all ages, the app offers a diverse array of options, from
focus timer and timetable maker to vocabulary practice and mindmap generator.
In today's fast-paced educational environment, students and educators alike are constantly
seeking innovative tools to enhance the learning experience. As technology evolves, so too
does the need for comprehensive applications that cater to various educational needs. This
document presents an introduction to an advanced educational application developed in
Python, designed to streamline study practices and foster effective learning through a suite of
integrated features: Notepad, Journal, Timetable Maker, Mind Map Generator, Vocabulary
Practice, and To-Do List. Our app aims to create a holistic platform that promotes efficient
organization, effective study habits, and enhanced knowledge retention.
The application primarily targets students at various educational levels, educators, and
lifelong learners who wish to optimize their learning strategies. By integrating multiple
functionalities, the application serves as a versatile companion for anyone seeking to improve
their academic performance or expand their knowledge.
The Notepad feature offers users a simple yet powerful interface for taking notes. Users can
jot down ideas, lecture summaries, or important information without the distraction of
complicated formatting tools. The flexibility of the Notepad allows for quick access and
seamless editing, ensuring that users can efficiently capture thoughts and ideas as they arise.
Additionally, by supporting rich text formatting options, users can organize their notes with
headings, bullet points, and highlights, enhancing readability and study efficiency.
The Journal feature provides a reflective space for users to document their learning journey
and personal growth. By encouraging daily or weekly entries, the Journal helps users develop
self-awareness and critical thinking skills. This feature not only serves as a record of
academic progress but also supports emotional well-being by allowing users to articulate their
thoughts and feelings. With prompts to guide writing, users of all ages can cultivate a
consistent journaling habit that fosters mindfulness and personal development.
Visual learning enhances comprehension and retention, and the Mind Map Generator caters
to this need by allowing users to create dynamic visual representations of concepts and ideas.
This feature promotes brainstorming and idea organization, enabling students to explore
relationships between different topics. Users can customize their mind maps with colors,
page|2
images, and links to additional resources, making complex information more accessible and
easier to remember. The collaborative aspect of this tool also fosters teamwork, as users can
share their mind maps for group projects or study sessions.
To stay organized, users can utilize the To-Do List feature to manage tasks effectively. This
user-friendly tool enables individuals to outline academic responsibilities, assignments, and
personal goals in a prioritized manner. The adjustable interface allows users to assign
deadlines, categorize tasks, and check off completed items, providing a satisfying sense of
achievement. By promoting accountability and organization, the To-Do List supports users in
managing their workload and maintaining focus on their priorities.
Developed using Python, the application leverages robust libraries and frameworks to ensure
functional versatility and a smooth user experience. The choice of Python allows for easy
integration of various features, as well as future scalability. With a focus on accessibility, the
app is designed to function seamlessly across devices, including desktops, tablets, and
smartphones. This cross-platform capability ensures that users can engage with their
educational tools anytime, anywhere.
User experience (UX) is at the forefront of our design philosophy. The app interfaces are
intuitively crafted to foster ease of navigation and engagement. Each feature is equipped with
onboarding tutorials and tooltips to guide new users through its functionalities. Feedback
mechanisms are incorporated to gather user insights for continuous improvement, ensuring
that the app remains responsive to evolving educational needs.
page|3
The purpose of the "Scribby Scoop" project is to develop a comprehensive educational app
that provides a suite of tools and features to support students in their academic and personal
productivity across the world. The app aims to empower students with a centralized platform
that caters to their diverse needs, from managing their schedules and tasks to enhancing their
learning and self-reflection.
The main objectives of the "Scribby Scoop" project are as follows:
Timetable Maker:
Develop a user-friendly timetable maker that allows students to create and manage their class
schedules, including the ability to input class times, locations, and other relevant
information.Provide features for students to set reminders and notifications for their
upcoming classes and events.Ensure the timetable maker is adaptable to different academic
systems and calendars across various regions.
2. Focus Timer:
Implement a focus timer feature that helps students maintain concentration and productivity
during study or work sessions.Offer customizable timer settings, including the ability to set
work and break intervals, as well as background music or sounds to create a focused
environment.Integrate the focus timer with other app features, such as the to-do list, to
seamlessly track and manage tasks.
3. To-Do List:
Develop a comprehensive to-do list feature that allows students to create, organize, and
prioritize their tasks and assignments .Include options for setting due dates, adding notes, and
marking tasks as complete .Provide the ability to group tasks into categories or projects for
better organization.
4. Notepad:
Incorporate a digital notepad feature that enables students to take handwritten or typed notes
during lectures, meetings, or brainstorming sessions. Offer various formatting options, such
as different pen styles, colors, and the ability to insert images or diagrams. Ensure smooth
integration with other app features, allowing users to easily access and reference their notes.
5. Mind Map Generator:
Implement a mind map generator that empowers students to visually organize their thoughts,
ideas, and concepts. Provide a user-friendly interface for creating, customizing, and sharing
mind maps. Integrate the mind map generator with the notepad feature, allowing users to
seamlessly transition between note-taking and mind mapping.
page|4
6. Journal:
Develop a journal feature that encourages students to reflect on their daily experiences,
thoughts, and emotions. Offer options for private and secure journaling, with the ability to set
password protection or encryption. Integrate the journal with other app features, such as the
focus timer or timetable, to provide context and enhance self-reflection.
7. Vocabulary Practice:
Incorporate a vocabulary practice module that helps students improve their language skills
and expand their vocabulary. Provide features for creating customizable vocabulary lists,
including the ability to add definitions, sample sentences, and audio pronunciations.
Implement spaced repetition algorithms and gamification elements to make vocabulary
practice engaging and effective.
The "Scribby Scoop" app is designed for students across the world, from primary to tertiary
education levels, who seek a comprehensive and integrated digital tool to enhance their
academic and personal productivity:
Development of individual app features (timetable maker, focus timer, to-do list,
notepad, mind map generator, journal, vocabulary practice)
3.SYSTEM IMPLEMENTATION :
VS Studio
page|6
4.SOFTWARE DESCRIPTION:
i) PYTHON:
Python is a high-level, interpreted programming language that has become a staple in the
world of computer science and data analysis. Its simplicity, flexibility, and extensive libraries
One of the primary reasons Python has gained popularity in recent years is its versatility. It
can be used for a wide range of applications, including web development, scientific
computing, data analysis, artificial intelligence, and more. Additionally, Python's syntax is
designed to be easy to read and write, making it an excellent language for beginners.
In the field of education, Python is often taught as a first programming language due to its
simplicity and forgiving nature. It is widely used in introductory programming courses and has
become a popular choice for teaching programming concepts to students of all ages. Many
educational institutions and online platforms offer Python courses and resources, making it
Furthermore, Python has a vast and active community, with numerous libraries and
frameworks that make it easy to perform various tasks. For instance, NumPy and Pandas are
popular libraries used for data analysis and scientific computing, while Flask and Django are
page|7
widely used for web development. This extensive ecosystem of libraries and frameworks
ii) MYSQL:
that enables efficient storage, retrieval, and management of data in a structured format. Its
widespread adoption can be attributed to its ease of use, high performance, and scalability.
One of the key benefits of MySQL is its ability to support a wide range of data types,
including numeric, string, date, and time. This flexibility makes it an ideal choice for various
MySQL also supports SQL (Structured Query Language), a standard language for managing
relational databases. This allows developers to perform various operations, such as creating
and modifying database structures, inserting and updating data, and querying the database to
In addition to its core features, MySQL offers several advanced functionalities, including
support for stored procedures, views, and triggers. These features enable developers to create
complex logic and automate various tasks, resulting in improved application performance and
Overall, MySQL is a powerful and versatile database management system that has become an
essential tool in the development of modern web applications. Its ease of use, high
page|8
performance, and scalability make it an ideal choice for both beginners and experienced
developers alike.
iii) VS STUDIO:
multiple programming languages, including C, Visual Basic, C++, F#, and Python, making it
suitable for various projects ranging from desktop to web and mobile applications. The IDE
includes advanced features such as IntelliSense for code completion, support for cloud and
mobile development, and integration with version control systems like Git. Additionally, the
5.MODULES:
Tkinter
Os
Subprocess
Colorama
Threading
Time
Datetime
Matplotlib
Numpy
Pyfiglet
Pil
Sub Modules:
1. tkinter:
messagebox
simpledialog
scrolledtext
StringVar
PhotoImage
Colorchooser
Scrolledtext
2. PIL:
Image
ImageTK
3. colorama:
Fore
4. datetime:
timedelta
p a g e | 10
6.1.TABLE DESIGN:
p a g e | 11
6.2. CODING:
importthreading
importsubprocess
defrun_script(script_name):
subprocess.run(["python", script_name])
i=1
whilei==1:
script1_thread=threading.Thread(target=run_script, args=(r"c:\Users\MY-
PC\Downloads\Yalini anand\yalini project\final_project.py",))
script2_thread=threading.Thread(target=run_script, args=(r"c:\Users\MY-
PC\Downloads\Yalini anand\yalini project\background_music_player.py",))
script1_thread.start()
script2_thread.start()
script1_thread.join()
script2_thread.join()
i-=1
p a g e | 12
importos
importrandom
importpygame
pygame.mixer.init()
music_folder=r'C:\Users\USER\OneDrive\python work\_music_'
ifmusic_files:
whileTrue:
song=random.choice(music_files)
pygame.mixer.music.load(os.path.join(music_folder, song))
pygame.mixer.music.play()
whilepygame.mixer.music.get_busy():
pygame.time.Clock().tick(10)
p a g e | 13
fromtkinterimport*
importtkinterastk
importos
importrandom
fromcoloramaimportFore
fromtkinterimportmessagebox, simpledialog,
scrolledtext,StringVar,PhotoImage,colorchooser,scrolledtext
importtime
importthreading
fromdatetimeimportdatetime, timedelta
importmatplotlib.pyplotasplt
importnumpyasnp
importpyfiglet
fromPILimportImage, ImageTk
importmysql.connectorasmy
text=pyfiglet.figlet_format('Welcome to Scriby
Scoop',font='isometric2',width=100)
print(Fore.RED+text)
defto_do_list():
classTodoApp:
def__init__(self, master):
self.master=master
master.title("To Do List App")
self.bg_image=Image.open(r"c:\Users\MY-PC\Downloads\Yalini
anand\yalini project\to do try.jpg")
self.bg_image=self.bg_image.resize((400, 400))
self.bg_photo=ImageTk.PhotoImage(self.bg_image)
self.tasks=self.load_tasks()
self.task_input=StringVar()
self.task_entry=tk.Entry(master,
textvariable=self.task_input)
self.task_entry.place(x=20, y=20, width=280)
self.task_listbox=Listbox(master, selectmode=tk.SINGLE)
self.task_listbox.place(x=20, y=60, width=300, height=300)
p a g e | 15
self.scrollbar=Scrollbar(master, orient="vertical",
command=self.task_listbox.yview)
self.scrollbar.place(x=320, y=60, height=300)
self.task_listbox.config(yscrollcommand=self.scrollbar.set)
self.delete_task_button=tk.Button(master, text="Delete
Task", command=self.delete_task)
self.delete_task_button.place(x=310, y=365)
self.update_task_listbox()
defadd_task(self):
task=self.task_input.get()
iftask:
self.tasks.append(task)
self.update_tasks_file()
self.update_task_listbox()
self.task_input.set('')
else:
messagebox.showwarning("Warning", "You must enter a
task.")
defdelete_task(self):
try:
selected_task_index=self.task_listbox.curselection()[0]
deleted_task=self.tasks.pop(selected_task_index)
self.update_tasks_file()
self.update_task_listbox()
exceptIndexError:
messagebox.showwarning("Warning", "You must select a
task to delete.")
defupdate_task_listbox(self):
self.task_listbox.delete(0, tk.END)
fortaskinself.tasks:
self.task_listbox.insert(tk.END, task)
p a g e | 16
defload_tasks(self):
try:
withopen("tasks.txt", "r") asfile:
tasks=file.read().splitlines()
returntasks
exceptFileNotFoundError:
return []
defupdate_tasks_file(self):
withopen("tasks.txt", "w") asfile:
file.write("\n".join(self.tasks))
if__name__=="__main__":
root=tk.Tk()
app=TodoApp(root)
root.geometry("400x400")
root.mainloop()
main_menu()
defnote_taking():
classNoteTakingApp:
def__init__(self, master):
self.master=master
self.master.title("Note Taking App")
self.text_area=scrolledtext.ScrolledText(self.master,
wrap=tk.WORD, width=100, height=20)
self.text_area.pack(pady=50)
self.menu_bar=tk.Menu(self.master)
self.master.config(menu=self.menu_bar)
self.file_menu=tk.Menu(self.menu_bar, tearoff=0)
p a g e | 17
self.menu_bar.add_cascade(label="File",
menu=self.file_menu)
self.file_menu.add_command(label="New Note",
command=self.new_note)
self.file_menu.add_command(label="Save Note",
command=self.save_note)
self.file_menu.add_command(label="Load Note",
command=self.load_note)
self.file_menu.add_separator()
self.file_menu.add_command(label="Exit",
command=self.master.quit)
self.edit_menu=tk.Menu(self.menu_bar, tearoff=0)
self.menu_bar.add_cascade(label="Edit",
menu=self.edit_menu)
self.edit_menu.add_command(label="Clear",
command=self.clear_text)
defnew_note(self):
self.text_area.delete(1.0, tk.END)
defsave_note(self):
note_content=self.text_area.get(1.0, tk.END)
ifnote_content.strip():
file_name=simpledialog.askstring("Save Note", "Enter
file name:")
iffile_name:
withopen(file_name+".txt", 'w') asf:
f.write(note_content)
messagebox.showinfo("Success", "Note saved
successfully!")
else:
messagebox.showerror("Error", "Cannot save an empty
note!")
defload_note(self):
file_name=simpledialog.askstring("Load Note", "Enter file
name to load:")
iffile_name:
p a g e | 18
try:
withopen(file_name+".txt", 'r') asf:
note_content=f.read()
self.text_area.delete(1.0, tk.END)
self.text_area.insert(tk.INSERT, note_content)
exceptFileNotFoundError:
messagebox.showerror("Error", "File not found!")
defclear_text(self):
self.text_area.delete(1.0, tk.END)
if__name__=="__main__":
root=tk.Tk()
app=NoteTakingApp(root)
root.mainloop()
main_menu()
defvocabulary_practice():
classLanguageLearningApp:
def__init__(self):
self.vocabulary= {}
self.progress= {}
self.vocabulary[word] =translation
self.progress[word] =0
print(f"Added word: {word} - {translation}")
p a g e | 19
defpractice(self):
ifnotself.vocabulary:
word=random.choice(list(self.vocabulary.keys()))
translation=self.vocabulary[word]
ifuser_translation.lower() ==translation.lower():
print("Correct!")
print('\n\n')
self.progress[word] +=1
else:
defshow_progress(self):
ifnotself.progress:
print('\n\n')
return
print("Progress:")
print('\n\n')
p a g e | 20
forword, scoreinself.progress.items():
defmain():
app=LanguageLearningApp()
whileTrue:
print("\n\nLanguage Learning App\n\n")
print("1. Add a new word\n")
print("2. Practice vocabulary\n")
print("3. Show progress\n")
print("4. Exit\n\n")
ifchoice=='1':
word=input("Enter the word: ")
print('\n\n')
app.add_word(word, translation)
elifchoice=='2':
app.practice()
elifchoice=='3':
app.show_progress()
elifchoice=='4':
print("Exiting the app. Goodbye!")
print('\n\n')
main_menu()
else:
p a g e | 21
if__name__=="__main__":
main()
deffocus_timer():
classFocusEnhancerApp:
def__init__(self, master):
self.master=master
master.title("Focus Enhancer")
self.time_var=tk.StringVar()
self.time_var.set("00:00")
self.remaining_time_label=tk.Label(master,
textvariable=self.time_var, font=("Helvetica", 48))
self.remaining_time_label.pack()
self.focus_duration=25
self.timer_running=False
defstart_timer(self):
ifnotself.timer_running:
self.timer_running=True
self.end_time=datetime.now()
+timedelta(minutes=self.focus_duration)
threading.Thread(target=self.run_timer).start()
defrun_timer(self):
whileself.timer_runninganddatetime.now() <self.end_time:
remaining_time=self.end_time-datetime.now()
minutes,
seconds=divmod(int(remaining_time.total_seconds()), 60)
self.time_var.set(f"{minutes:02}:{seconds:02}")
time.sleep(1)
self.timer_running=False
self.time_var.set("00:00")
self.show_alert()
defreset_timer(self):
self.timer_running=False
self.time_var.set("00:00")
defshow_alert(self):
alert_window=tk.Toplevel(self.master)
alert_window.title("Time's Up!")
alert_message=tk.Label(alert_window, text="Focus time is
over! Time to take a break!", font=("Helvetica", 12))
alert_message.pack()
ok_button=tk.Button(alert_window, text="OK",
command=alert_window.destroy)
ok_button.pack()
if__name__=="__main__":
root=tk.Tk()
app=FocusEnhancerApp(root)
root.mainloop()
p a g e | 23
main_menu()
deftime_table():
classTimeTableApp:
def__init__(self, root):
self.root=root
self.root.title("Time Table Maker")
self.root.geometry("700x1000")
self.bg_image=PhotoImage(file=r"c:\Users\MY-
PC\Downloads\Yalini anand\yalini project\cat-8762411_1280.png")
self.bg_label=tk.Label(root, image=self.bg_image)
self.bg_label.place(relwidth=1, relheight=1)
self.create_widgets()
defcreate_widgets(self):
title_label=tk.Label(self.root, text="Time Table Maker",
font=("Helvetica", 24), bg="lightblue")
title_label.pack(pady=20)
fordayinself.days:
frame=tk.Frame(self.root, bg="lightyellow")
frame.pack(pady=5)
subject_entry=tk.Entry(frame,
textvariable=self.subjects[day], font=("Helvetica", 14))
subject_entry.pack(side=tk.LEFT, padx=10)
defsave_timetable(self):
timetable= {day: self.subjects[day].get() fordayinself.days}
withopen("timetable.txt", "w") asfile:
forday, subjectintimetable.items():
file.write(f"{day}: {subject}\n")
messagebox.showinfo("Success", "Time Table saved
successfully!")
if__name__=="__main__":
root=tk.Tk()
app=TimeTableApp(root)
root.mainloop()
main_menu()
defjournal():
classJournalApp:
def__init__(self, root):
self.root=root
self.root.title("Journal App")
self.bg_image=Image.open(r"c:\Users\MY-PC\Downloads\Yalini
anand\yalini project\journal background.jpg")
self.bg_image=self.bg_image.resize((800, 600))
p a g e | 25
self.bg_photo=ImageTk.PhotoImage(self.bg_image)
self.background_label=tk.Label(root, image=self.bg_photo)
self.background_label.place(x=0, y=0, relwidth=1,
relheight=1)
self.text_area=scrolledtext.ScrolledText(root, wrap=tk.WORD,
font=("Arial", 16),bg="#f7f5d2")
self.text_area.place(relwidth=0.9, relheight=0.8, relx=0.05,
rely=0.1)
defsave_entry(self):
withopen("journal_entries.txt", "a") asfile:
file.write(self.text_area.get("1.0", tk.END) +"\n\n")
self.text_area.delete("1.0", tk.END)
if__name__=="__main__":
root=tk.Tk()
app=JournalApp(root)
root.geometry("800x600")
root.mainloop()
main_menu()
defmind_map_generator():
classMindMapApp:
def__init__(self, master):
self.master=master
p a g e | 26
self.central_idea=""
self.branches= []
self.colors= []
self.setup_ui()
defsetup_ui(self):
self.add_branch_button=tk.Button(self.master, text="Add
Branch", command=self.add_branch)
self.add_branch_button.pack()
self.generate_button=tk.Button(self.master, text="Generate
Mind Map", command=self.generate_mind_map)
self.generate_button.pack()
defadd_branch(self):
branch=simpledialog.askstring("Input", "Enter Branch Idea:")
ifbranch:
color=colorchooser.askcolor()[1]
ifcolor:
self.branches.append(branch)
self.colors.append(color)
defgenerate_mind_map(self):
self.central_idea=self.central_entry.get()
p a g e | 27
ifnotself.central_idea:
messagebox.showwarning("Input Error", "Please enter a
central idea.")
return
self.plot_mind_map()
defplot_mind_map(self):
plt.figure(figsize=(10, 8))
plt.title("Mind Map", fontsize=20)
num_branches=len(self.branches)
fori, (branch, color) inenumerate(zip(self.branches,
self.colors)):
angle= (i/num_branches) *2*np.pi
x=0.5+0.3*np.cos(angle)
y=0.9-0.3*np.sin(angle)
plt.text(x, y, branch, ha='center', fontsize=12,
color=color,
bbox=dict(facecolor=color, alpha=0.5,
edgecolor='black'))
plt.axis('off')
plt.show()
defsave_mind_map(self):
ifnotself.central_idea:
messagebox.showwarning("Input Error", "Please generate a
mind map first.")
return
plt.figure(figsize=(10, 8))
plt.title("Mind Map", fontsize=20)
p a g e | 28
num_branches=len(self.branches)
fori, (branch, color) inenumerate(zip(self.branches,
self.colors)):
angle= (i/num_branches) *2*np.pi
x=0.5+0.3*np.cos(angle)
y=0.9-0.3*np.sin(angle)
plt.text(x, y, branch, ha='center', fontsize=12,
color=color,
bbox=dict(facecolor=color, alpha=0.5,
edgecolor='black'))
plt.axis('off')
plt.savefig('mind_map.png')
plt.close()
messagebox.showinfo("Saved", "Mind map saved as
'mind_map.png'.")
if__name__=="__main__":
root=tk.Tk()
app=MindMapApp(root)
root.mainloop()
main_menu()
defmain_menu():
print('Hi ',name)
print('************************************************************
*****')
p a g e | 29
print('*************************************************************
****')
ifch==1:
to_do_list()
elifch==2:
note_taking()
elifch==3:
vocabulary_practice()
elifch==6:
focus_timer()
elifch==5:
mind_map_generator()
elifch==4:
journal()
elifch==7:
time_table()
elifch>8:
print('The given input is not valid . Try again')
else:
pass
main_menu()
p a g e | 30
6.3.OUTPUT SCREEN:
p a g e | 31
p a g e | 32
p a g e | 33
p a g e | 34
p a g e | 35
p a g e | 36
p a g e | 37
p a g e | 38
p a g e | 39
p a g e | 40
7.USER MANUAL
7.1.PYTHON INSTALLATION:
Python has various versions available with differences between the syntax and
working of different versions of the language. We need to choose the version which we want
to use or need. There are different versions of Python 2 and Python 3 available.
On the web browser, in the official site of python (www.python.org), move to the
Download for Windows section. All the available versions of Python will be listed. Select the
version required by you and click on Download. Let suppose, we chose the Python 3.9.1
version.
On clicking download, various available executable installers shall be visible with different
operating system specifications. Choose the installer which suits your system operating
system and download the installer. Let suppose, we select the Windows installer (64 bits).
We downloaded the Python 3.9.1 Windows 64 bit installer. Run the installer. Make sure
to select both the checkboxes at the bottom and then click Install New.
The installation process will take few minutes to complete and once the installation is
To ensure if Python is successfully installed on your system. Follow the given steps −
The version of the python which you have installed will be displayed if the python is
Pip is a powerful package management system for Python software packages. Thus, make
sure that you have it installed. To verify if pip was installed, follow the given steps
7.2.MySQL Installation:
The default installation on any version of Windows is now much easier than it used to be, as
MySQL now comes neatly packaged with an installer. Simply download the installer
package, unzip it anywhere and run the setup.exe file.
The default installer setup.exe will walk you through the trivial process and by default will
install everything under C:\mysql.
Test the server by firing it up from the command prompt the first time. Go to the location of
the mysqld server which is probably C:\mysql\bin, and type − mysqld.exe --console
NOTE − If you are on NT, then you will have to use mysqld-nt.exe instead of mysqld.exe
If all went well, you will see some messages about startup and InnoDB. If not, you may have
a permissions issue. Make sure that the directory that holds your data is accessible to
whatever user (probably MySQL) the database processes run under.
MySQL will not add itself to the start menu, and there is no particularly nice GUI way to stop
the server either. Therefore, if you tend to start the server by double clicking the mysqld
p a g e | 45
executable, you should remember to halt the process by hand by using mysqladmin, Task
List,
Task Manager, or other Windows-specific means.
After MySQL, has been successfully installed, the base tables have been initialized and the
server has been started: you can verify that everything is working as it should be via some
simple tests.
If you do not get such a message, then there may be some problem in your installation and
you would need some help to fix it.
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.13 sec)
Post-installation Steps
MySQL ships with a blank password for the root MySQL user. As soon as you have
successfully installed the database and the client, you need to set a root password as given in
the following code block −
/etc/init.d/mysqld start
Also, you should have the mysqld binary in the /etc/init.d/ directory.
The term “front-end” refers to the user interface, while “back-end” means the server
application and database that work behind the scenes to deliver information to the user.
mysql.connector-Library or package to connect from python to MySQL.
Before we connect the program with mysql, we need to install connectivity package named
mysql-connector-python.
Step 1: Start Python: Start python editor to create your python script
Step 2: mysql.connector package
Step 3: Establishing connection to MySQL DATABASE
We need to establish a connection to a mysql database using connect() function of
mysql.connector package.
The connect statement creates a connection to the mysql server and returns a MySQL
connection object.
Syntax:
<Connection object>=mysql.connectorconnect (host=<hostname>, user=<username>,
passwd
<password>, database=<dbname>) import mysql.connector
con=mysql.connector.connect(host=”localhost”, user=”root”, passwd=” “)
Syntax:
<cursor object>=<connectionobject> .cursor()
Eg: Cursor=con.cursor()
Execute SQL query:
We can execute SQL query using execute() function
Syntax:
<cursor object>.execute(SQL QUERY)
Eg: cursor.execute(“select* from data”)
The above code will execute the sql query and store the retrieved records (resultset) in the
cursor object(cursor).
p a g e | 49
Result set refers to a logical set of records that are fetched from the database by executing a
sql query and made available in the program.
p a g e | 50
8 . FUTURE ENHANCEMENTS
app documentation must align with the dynamic landscape of digital learning. This document
outlines potential future enhancements aimed at improving user experience, accessibility, and
To cater to diverse learning styles, incorporating interactive user guides within the
documentation will facilitate a more engaging experience. These guides can include video
tutorials, quizzes, and step-by-step walkthroughs that allow users to understand features and
Future documentation can be enhanced by integrating personalized learning paths that adapt to
individual user progress and preferences. By using algorithms to analyze user interactions, the
documentation can suggest relevant resources and sections tailored to each user’s unique
Features such as natural language processing and keyword tagging will enable users to find
information quickly and efficiently. Including a search suggestion function will further
p a g e | 51
streamline this process, directing users to pertinent solutions and resources based on their
inquiries.
Establishing a robust feedback system within the documentation will allow users to report
issues, suggest changes, and share their experiences. This real-time feedback can be
instrumental in continuously refining and updating content based on actual user needs and
challenges.
5. Accessibility Improvements:
text-to-speech options, providing transcripts for multimedia content, and adhering to WCAG
(Web Content Accessibility Guidelines) will ensure that users with different abilities can
6. Multilingual Support:
As our user base expands globally, offering multilingual support in our documentation will
enhance usability for non-English speakers. This not only broadens accessibility but also
To maintain accuracy and relevance, establishing a schedule for regular updates and
incorporating version control will ensure that users are always informed of the latest features,
p a g e | 52
improvements, and bug fixes. Clear version logs will provide transparency and enhance user
trust.
By implementing these future enhancements, we can significantly improve the quality and
9..BIBILOGRAPHY:
BOOK REFERENCES:
WEB REFERENCES:
https://www.geeksforgeeks.org/courses/CS-12
https://www.teachoo.com/subjects/computer-science/class-12/
https://kvcoders.in/class-12-new-content/python-project/#google_vignette
https://csipacademy.com
https://pythonclassroomdiary.wordpress.com
https://knowpythonbytes.blogspot.com
https://python4csip.com/
https://www.w3schools.com/