📒
PyCoders Handbook
  • Welcome!
  • Values and Principles
  • Onboarding Guideline
  • Python
    • Week 1
      • 💻Introduction to Python
    • Week 2
      • 🗃️Lists, Tuples, Sets, Dictionaries
    • Week 3
      • 🤖Functions
      • 📦Modules & Packages
    • Week 4
      • 🛠️Errors & Exceptions
      • 💾File I/O (Input/Output)
    • Week 5
      • ⚙️OOP-1
    • Week 6
      • ⚙️OOP-2
    • Module Project
  • Database
    • Week 8
      • 🗄️Introduction to Databases & SQL
    • Week 9
      • 🐘PostgreSQL
    • Week 10
      • 🍃MongoDB
    • Module Project
  • DATA GATHERING
    • Week 13
      • 🌐Web Technologies & APIs
    • Week 14
      • ⚡Python Requests Library & FastAPI
  • Maths/Stats
    • 🔢Introduction to Statistics
    • Assignment
  • DATA MANIPULATION
    • Week 17
    • Week 18
    • Week 19
  • Data Visualization-1
    • Week 20
    • Week 20.5
      • Python graph gallery
    • Week 21
  • DATA MANIPULATION PROJECT
    • Week23-24-25 (Project Weeks)
  • DATA VISUALIZATON-2
    • Week26(PowerBI)
  • Machine Learning
    • Week27
    • Week 28
    • Capstone Project
  • Extra Documentation
    • Week27-2
    • Copy of Week 16
    • RegEx
    • PyQt5
    • ML
    • ML
    • ML
    • ML
    • ML
    • maths-stats
    • maths-stats
    • maths-stats
    • Module Project(Weather Application)
    • Tableau
    • Module Project(AutoScout24 Application)
    • ⚙️Web Scraping
    • Week28-2
Powered by GitBook
On this page
  • Time Tracking App Using Pomodoro Technique
  • Overview
  • Gui Details
  • General Info
  • Definition Of Done
  • Program Stack
  • Bonus
  • Instruction Steps
  • Step 1
  • Step 2
  • Step 3

Was this helpful?

  1. Python

Module Project

Written and Managed by Bahadir Kucuk, October 2022

PreviousOOP-2NextWeek 8

Last updated 2 years ago

Was this helpful?

Time Tracking App Using Pomodoro Technique

Overview

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.

Gui Details

  1. Login / Sign-Up Screen

    1. Simple user login system

      • User's email

    2. Simple user sign-up system

      • User’s name

      • User’s email

  2. Main Menu Screen

    1. User’s Workspace

      • Add/Delete recipients’ emails

      • Delete a project

      • Delete a subject

    2. Start Pomodoro

      • Add a new project or subject

      • Select the project and subject for the new Pomodoro to start

    3. Tracking History

      • Select a project or all projects

      • Select a subject or all subjects

      • Select a period

        1. Today

        2. This Week

        3. 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

  3. Pomodoro Screen

    1. Main Menu Button

    2. Showing the current number of Pomodoro, for example, 1,2,3, or 4

    3. Add Task(s) for the current Pomodoro session (25 min.)

    4. Counting down timer

    5. Start/Pause time button

    6. "I am done with this session" button (go to a short break or long break)

    7. Asking for the accomplishment of the tasks

  4. Short Break Screen

    1. Main Menu Button

    2. Counting down timer (5 min.)

    3. Start/Pause time

    4. Skip button (go to next Pomodoro session)

  5. Long Break Screen

    1. Main Menu Button

    2. Counting down timer

    3. Start/Pause time

    4. Skip button (go to the main menu)

General Info

  • 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.

Definition Of Done

  • 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)

Program Stack

  • 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)

Bonus

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.

Instruction Steps

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.

Step 1

Duration: 0.5 day

  • Introduction Presentation

  • Reading instructions.

  • Understanding and discussing with your teammates the requirements of the project.

Step 2

Duration: 1.5 - 2 days

UML Design (Making Plan)

Note: These diagrams will be in your presentation at the end. Please pay strict attention to this part of the project.

  1. Class Diagram

    • As a group, draw a Class Diagram for your project.

  2. Usecase Diagram (Bonus)

    • As a group, draw a Use Case Diagram for your project.

    • 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.

Step 3

Note: You will have an access to the programming part after your mentor validates your step 2.

source: creately.com

You can use this tool to draw UML Diagrams →

Watch this tutorial ->

Watch this tutorial →

Activity Diagram Watch this tutorial →

Link
Link
Link
Link