Python Pomodoro timer  banner

Python Pomodoro timer

32 devlogs
17h 52m 7s

A simple-ish pomodoro timer which has the basic 25 min study, 5 min break setting built in as well as giving the user the oppurtunity to create a custom mode. The project takes all the values for time as decimals and converts them using the algor…

A simple-ish pomodoro timer which has the basic 25 min study, 5 min break setting built in as well as giving the user the oppurtunity to create a custom mode. The project takes all the values for time as decimals and converts them using the algorithm i created, which therefore minimises errors caused by user typing not quite exact phrases.

This project uses AI

Used Ai to write README for project

Demo Repository

Loading README...

markmcsweeny95

Shipped this project!

Hours: 1.03
Cookies: 🍪 11
Multiplier: 10.34 cookies/hr

I built a simple pomodoro timer with many features including a visual display of time left a custom setting, a classic setting and many more. This is the perfect revsiion tool for students who want to focus on studying.

markmcsweeny95

Added a simple feature which requires users to confirm they have selected the correct timings before they begin which means they won’t start a timer they don’t want to use. I also made it so that the timer is paused by defualt at the start until spacebar is pressed.

Attachment
0
markmcsweeny95

Created a set of instructions to guide the user through how to use the code and what to do if they encounter errors, the instructions are the second thing to appear so very visible to the user.

0
markmcsweeny95

Added functionality which will allow the user to enter their continent and city and it will work out their current time zone and also means that they can have an accurate time displayed on their screen, might make it show the finish time in future.

0
markmcsweeny95

Shipped this project!

Hours: 16.84
Cookies: 🍪 124
Multiplier: 7.36 cookies/hr

I finally finished my pomodoro timer project, this was so much fun to make i hope everyone who uses it enjoys it just as much as i did making it, this project taught me a lot about structuring code properly creating neat Ui’s and most importantly debugging. I have a few ideas for how i could make it even better but for now it’s just how i want it ready to begin studying!

markmcsweeny95

Finished the project!!!!!

Finished by working on final text animations and setting time delay back to realtime as well as adding my @ and contact details (slack and github repo) to my in code readme for people who have not yet read the readme, there’s always some…

0
markmcsweeny95

Finished code of project,might still make a few small improvements to the UI though, any reccomendations welcome :)

0
markmcsweeny95

Timing and pausing logic fixed as well as working on makign cycles update in 0.1s of a cycle

0
markmcsweeny95

Started fixing some final bugs but taking a while bebcause one bug is causing another. Almooooost finished surely.

Attachment
0
markmcsweeny95

Added a function so that the code will wait 0.1s before printing each line of code making it feel much more alive and connected to you. I also added a readme which users are told to read before using the software which will be the same readme as on github, firther progress to the readme is required as well as spacing and formatting of words.

Attachment
0
markmcsweeny95

Reverted code back to an older version as well as Working on the output of the project (how the text interface looks to the user. Almost inished now!!!

Attachment
0
markmcsweeny95

Attempeted to fix bugs but then created even more bugs in the process, ahhhh python.

0
markmcsweeny95

Added pause functionality to allow the user to pause and unpause the timer at any time using the space bar, further updates to come on this

1

Comments

djblackberry64contrib

May I ask you what went into making the UI? It looks very solid and I’m curious to know if it’s like a framework or sth. or hardcoded by yourself.

markmcsweeny95

Finished cycles code, wooohooooo! Now when cycles remainign = 0.4 for example it will only do a fraction of the normal time, meaning that the time actually stops when the user expects it to.

0
markmcsweeny95

Made the cycles signigfier work properly so it actually reduces properly each cycle. (Still have oossible improvements to make to it.)

0
markmcsweeny95

Added the cycles option which means the enitre thing tuns a specific number of repeats, very complicated making a loop and had a few issues with defining things as variables etc, still have a few bugs but it is getting there now.

0
markmcsweeny95

Added a cycle visualiser which allows the user to see how many cycles of the pomodoro timer they have left (doesn’t update for now)

Attachment
0
markmcsweeny95

Fixed the approximate decimal hours left by adding 1 on so that it never shows 0.0 hours also worked on adding study time summary circle to original timer as well as the custom timer.

0
markmcsweeny95

Worked on adding a suummary ring in the top left corner which shows the ratio of studytime to break time in a nice visual. Had a few bugs and had to work on positioning it in the right place

0
markmcsweeny95

Fixed some subtle bugs including one where i forgot to clear the screen after the hrs is printed which means it overlaps, also i started working on creating a code which can show the live time on the clock as well and when the timer will finish in real time. I made it so that it displays the current time right now (Uk) to get used to the live time modules

0
markmcsweeny95

Worked on some simple debugging as well as adding 2 new turtles which will be used to display information on the timer screen. First tirtle has been loaded up to show total hours left and the second turtle will be programmed to show the real time time when the timer will finish ie. (10:25)

Screenshot of first turtle displaying time accurately

Attachment
0
markmcsweeny95

6 mins - fixed minor bug which only occurred when user selected a custom timer and a study or break period over 60 mins where it would display more than 60 mins for example “1hours, 96mins, 34secs”. Also improved time display so that it removed mins secs and hours and replaced them for colons. Also made it so that if time is less than 10 it displays as 09 for example to avoid flicking screen.

0
markmcsweeny95

Worked on the Timers visuals and improved them by making the colours more appealing and calming, I also made the text bold to make it easier to read and feel like it has a softer edge. Also removed the flashing effect from the time display by only updating the screen when I need to.

0
markmcsweeny95

Re-organised code entirely and heavily added comments to make code easier to process for next steps and make it more maintainable.
(I KNOW YOUR NOT SUPPOSED TO UPLOAD SCREENSHOTS OF CODE AS EVIDENCE, BUT I HAD NO OTHER EVIDENCE SORRY)

0
markmcsweeny95

Added the timer visuals to the custom timer set up which allows user to set any time as a study time and a brak time as long as it is not a decimal. Also, began to clean up the code by adding comments and defining variables more cleanly. (DEMO RUNNING SPED UP TO DEMONSTRATE)

0
markmcsweeny95

Added status info in the top corner to allow the user to know whether it is a study period or a break period. Created using a new turtle specifically for that task. Also ran into a problem when previous screen would clear so had to fix that!

0
markmcsweeny95

Made UI of timer slightly better and converted seconds into hours minutes and seconds as well as removing the turtle arrow. definitely still not done yet though!

0
markmcsweeny95

Edited my turtle timer interface to allow for custom timings for the study time (black) and the break time( green). Only shows time left in seconds for now. Also, only currently works for one cycle of study/break

0
markmcsweeny95

Created a very rough visual for a framework for how the final timer will look and programmed it to draw perfect circles over a set period of time, tested it at 60s and when it goes other it turns red and shows that the countdown has finished

Attachment
0
markmcsweeny95

Created extra variables which allowed me to extract a large amount of data from just the decimal time and the total cycle time. It allowed me to even work out how many cycles and the exact minute remainder

Attachment
0
markmcsweeny95

Created an algorithm to convert the time inputted by the user into a number of pomodoro cyles whether that is 30 mins total (25 min study and 5 min break) or if it is a custom one.

Attachment
0
markmcsweeny95

Added human error detection which prevents user from entering text values of time and simplified some code by adding loops.

Attachment
0
markmcsweeny95

Put my decimal time to hours and minutes time into a subrotine which allows me to call it at any point. And returned a value which includes strings as well as variables.

Attachment
0
markmcsweeny95

Worked on building the fundemental framework for the project as well as writing up my algorithm for converting decimal time into mins and hours as well as some basic human proofing. Very rough design at the moment with a lot of room for human error.

Attachment
0