Module Project
Written and Managed by Bahadir Kucuk, October 2022
Last updated
Written and Managed by Bahadir Kucuk, October 2022
Last updated
The project is based on keeping time of any project with its subject by using the Pomodoro technique which was developed in the late 1980s by then-university student Francesco Cirillo. This technique helps the ones who are struggling to focus on their studies and complete assignments. With this project, the user will be able to track the time by using the Pomodoro technique and will be able to see the overview of the time spent on a specific subject under a project(topic).
A User Case for the Program
To illustrate, a student wants to study the “Equations” subject under the “Maths” project(topic). Firstly, the student will enter the project name as “Maths” and enter the subject in the program then he will be able to start the Pomodoro sessions. Before each session, the program will ask for a “To Do List” for that specific sub-session of Pomodoro, and also at the end of the session the program will ask again for which of these to-do-list are managed in that session. After sessions, the student can start a new Pomodoro session after a long break. At the end of the Pomodoro sessions, the summary of the time tracked will be automatically emailed to recipients (users/parents/friends). Users can also manually send a summary email to recipients manually from the main menu.
Login / Sign-Up Screen
Simple user login system
User's email
Simple user sign-up system
User’s name
User’s email
Main Menu Screen
User’s Workspace
Add/Delete recipients’ emails
Delete a project
Delete a subject
Start Pomodoro
Add a new project or subject
Select the project and subject for the new Pomodoro to start
Tracking History
Select a project or all projects
Select a subject or all subjects
Select a period
Today
This Week
This Month
Total Time tracked
Feature of sending an email of the tracked history (project, subject, and period) to the recipients.
An overview table of tracked history
Pomodoro Screen
Main Menu Button
Showing the current number of Pomodoro, for example, 1,2,3, or 4
Add Task(s) for the current Pomodoro session (25 min.)
Counting down timer
Start/Pause time button
"I am done with this session" button (go to a short break or long break)
Asking for the accomplishment of the tasks
Short Break Screen
Main Menu Button
Counting down timer (5 min.)
Start/Pause time
Skip button (go to next Pomodoro session)
Long Break Screen
Main Menu Button
Counting down timer
Start/Pause time
Skip button (go to the main menu)
Each team will have 1 Mentor.
Trello Board will be used in the project.
This is mandatory.
Mentor will check whether the team uses Trello actively.
Team mentors will also be added to the board.
There will be at least 30-minute meetings with teammates every day.
The content of the daily meeting is generally as follows:
What each teammate has done
The general direction of the project
Task sharing until tomorrow
In Trello, there will be a list in the name of that specific date. Details, tasks, and things to be done at the meeting will be kept in Trello daily in that list.
It is crucial to follow the steps in order to complete the project.
A meeting will be held with 1 mentor of the group and group members(students) on the specified dates (once in 2-3 days). The dates are written below. The time of the meetings will be determined by each group mentor and group members.
The part at each step will be completed until that meeting and the new step will be started. Each student in the team will present the part he/she did in that step to the mentor in the meeting.
After each meeting, the mentors will make an assessment of whether each team member gets progressing or not.
After the project is completed, a project presentation will be made in a location or online where Pycoder's instructors will be present.
Full attendance at meetings with mentor
UML Diagrams (Class, Activity)
A Program runs appropriately.
Presentation of the project
GitHub repository with a ReadMe
Medium article (optional)
VSCode
JSON for holding data
UML Diagram(Class diagram, Activity diagrams)
GitHub Object
Oriented Programming
PyQt5 for GUI (Default template will be provided for GUI)
There are some “Bonus” parts under the subsections of the steps. If you have enough time, and eagerness to show your skills and make a more featured program, then try to implement them.
You have to stick to the schedule. You will have a progress meeting with your mentor once in 2-3 days (specified in the meeting schedule section). You have to complete related steps before the following meeting.
Duration: 0.5 day
Introduction Presentation
Reading instructions.
Understanding and discussing with your teammates the requirements of the project.
Duration: 1.5 - 2 days
Note: These diagrams will be in your presentation at the end. Please pay strict attention to this part of the project.
You can use this tool to draw UML Diagrams →Link
Class Diagram
Watch this tutorial -> Link
As a group, draw a Class Diagram for your project.
Usecase Diagram (Bonus)
Watch this tutorial → Link
As a group, draw a Use Case Diagram for your project.
Activity Diagram Watch this tutorial → Link
As a group, draw an Activity Diagram for your project.
There should be at least 4 activity diagrams for each flow of logic.
For example:
Sign Up/Login Logic,
Adding/Deleting Projects/Subjects,
Tracking History,
Pomodoro-Shortbreak-Long Break Sessions, ...
Note: Present your diagrams to your mentor! You will also present them in the presentation at the end. After presenting your diagrams to your Mentor, You will be able to start programming part by cloning your default GUI.
Note: You will have an access to the programming part after your mentor validates your step 2.