Professional Documents
Culture Documents
Group 2 - Final Project
Group 2 - Final Project
LearnMore
Purpose
The purpose of this project is to reduce user wasted time because this pomodoro
timer helps users manage their schedule and encourage them to focus and increase
productivity with the time they have. It also aims to improve the knowledge and skills of
students when it comes to python programming
Students. Junior and senior high school students, as well as college students, are
subjected to a heavy workload of projects and activities, particularly during this online
learning. Almost all of the students are having difficulty completing all of their
schoolwork on time because some of them have other things to do like housework,
personal planning, and sometimes they get distracted and play games for too long, so
this Pomodoro timer was created for them to break large tasks up into smaller
manageable time units.
Teachers. Teachers can also utilize this Pomodoro timer in their way of teaching so that
students can take time to absorb the topic and rest their minds for the next topic. This
can improve the performance and attentiveness of students.
Future programmers. Future programmers can use this program as a basis for
creating their own version of the Pomodoro timer. They can utilize this program and add
other features to it.
D. Programming Language
● Python
E. Variables
This part of the documentation shows the variables used in the project.
● master = the root of the GUI
● width = width of the object in px.
● height = height of the object in px.
● row = a type of geometry in tkinter that arranges the widgets.
● column = a type of geometry in tkinter that arranges the widgets.
● fg_color = foreground color, can be in tuple or single color.
● text = string
● text_font = text font and contains the text size as well.
● sticky = specifies which edge of the cell and object will stick to.
● padx = puts some space between the button widgets and the borders of the
frame and the borders of the root window.
● pady = puts some space between the button widgets and the borders of the
frame and the borders of the root window.
● weight =assigns extra space to a widget, if assigned as zero it will not give
space to the widget.
● textvariable = tkinter.StringVar object to change text of button.
● columnspan = tells the program how many columns will this object occupy.
● rowspan = tells the program how many rows will this object occupy.
● textvariable = tkinter.StringVar object to change text of a element.
● bd = represents the size of the border of a widget.
● command = callback function
F. Conditional Statements
if timer == 0: = this conditional statement’s purpose is to tell the program when to play
the sound that indicates the end of the work/end session as well as to display a
message box that alerts the user.
G. Operators
timer = 25 * 60 = indicates how many minutes there are for the work timer.
timer = 5 * 60 = indicates how many minutes there are for the break timer.
H. Loops
while timer >= 0: = this loop handles which timer to display once a button is clicked it
can be the work or break.
I. Functions
● def work_break (self, timer): = this is the function that contains the calculations
and other elements that allows the timer to work.
● def work(self):= this is the function that contains the elements need for the work
part of the timer to work properly, it is called when the start button is pressed.
● def break_(self): = this is the function that contains the elements need for the
break part of the timer to work properly, it is called when the break button is
pressed.
J. Source Code
import tkinter as tk
import customtkinter
from tkinter import messagebox
from playsound import playsound
import time
#Tkinter theme
customtkinter.set_appearance_mode("System") # Modes: system (default), light, dark
customtkinter.set_default_color_theme("blue") # Themes: blue (default), dark-blue,
green
class App(customtkinter.CTk):
#Buttons
btn_work = customtkinter.CTkButton(self, text="Start",
bd=5, command=self.work,
fg_color=("gray75", "gray30"), text_font=(
"DS-DIGITAL", 15, "bold") ).grid(column=2, row=4)
btn_break = customtkinter.CTkButton( self, text="Break",
bd=5, command=self.break_,
fg_color=("gray75", "gray30"), text_font=(
"DS-DIGITAL", 15, "bold") ).grid(column=4, row=4)
self.mainloop()
if __name__ == "__main__":
app = App(customtkinter.CTk)
app.main()
K. Screen Shot
L. Programmers’ Profile
IVAN P. CARINGAL
Brgy. Parang ,Calapan City Oriental Mindoro
0916-369-2477
ivancaringal@gmail.com
PERSONAL DATA
Age: 19
Date of Birth: May 20, 2002
Place of Birth: Brgy. Silonay Oriental mindoro
Gender: Male
Civil Status: Single
Citizenship: Filipino
Religion: Roman Catholic
Mother’s Name: Lorna P Caringal
Father’s Name: Jerwin B Caringal
EDUCATIONAL BACKGROUND
PERSONAL DATA
Age: 19
Date of Birth: January 4, 2003
Place of Birth: Brgy. Duhat, Padre Burgos, Quezon
Gender: Male
Civil Status: Single
Citizenship: Filipino
Religion: Roman Catholic
Mother’s Name: Vilma Rodil
Father’s Name: Modesto Rodil
EDUCATIONAL BACKGROUND
EDUCATIONAL BACKGROUND
PERSONAL DATA
Age: 19
Date of Birth: July 02, 2002
Place of Birth: Batangas City, Batangas
Gender: Male
Civil Status: Single
Citizenship: Filipino
Religion: Roman Catholic
Mother’s Name: Ruth Helen C. Manalo
Father’s Name: Roland G.Manalo
EDUCATIONAL BACKGROUND
KYELL P. DIMATATAC
Purok 5 Brgy. Malaya, Nagcarlan, Laguna
0921-797-1274
kyelldimatatac2@gmail.com
PERSONAL DATA
Age: 18
Date of Birth: May 21, 2003
Place of Birth: Brgy Malaya, Nagcarlan, Laguna
Gender: Male
Civil Status: Single
Citizenship: Filipino
Religion: Roman Catholic
Mother’s Name: Angelina P. Dimatatac
Father’s Name: Emeterio L. Dimatatac
EDUCATIONAL BACKGROUND