Inspired by the wonderful Coursera course Learning how to learn. I wanted to create an app with two concepts that I found interesting "Pomodoros and Recalls." Thus, I created this app that combines both techniques.
The app has had different versions since the beginning. I first created a console app where you can create pomodoros, and the code of this version can be found inside the console
folder and we use the app.py
to run it.
Then, I decided to create a UI for the app where I could also add recalls, so I learned a little bit of PyQT5 which allowed me to create an app that enables the creation of pomodoros and recalls.
Finally, I wanted to see a dashboard and have the ability to search and show my recalls, therefore, I created the final version of this idea. I chose to do it using Streamlit
because I work with data and is a tool that I already knew.
The app is not completed yet, but I feel pretty good with the current result knowing some of the limitations that Streamlit
has to build the interface.
The app has been designed as a personal app, that is why we need to run it locally and maybe in the future I make it available online.
git clone https://github.com/JonathanElejalde/pomodoro.git
pip install -r requirements.txt
streamlit run web_app.py
These are the steps to start your firts pomodoro:
- Create a new category. Here you can add the projects whitin that category.
- Create a new project.
- Hit the
Start Pomodoro
. This will start a 25 min pomodoro, it will end with acountdown
sound.- Then 5 min of resting will start and these will end with a
tada
sound.
- Then 5 min of resting will start and these will end with a
- Once the pomodoro ends, you have the opportunity to grade your pomodoro, it can be either
Good
orBad
then just push theSend Calification
button. This is going to be useful to theDashboard
where you can find your study patterns. - Finally, If you want to end or cancel a project, enable the process by clicking the
Enable to End/Cancel [PROJECT NAME]
checkbox.
To create a recall, you need to add:
- A project name
- A recall title
- Recall text
Finally, to save it into the database hit the Add Recall
button.
All these are necessary to retrieve the recalls by project name, and for searching specific information inside a recall.
The other functionalities like Searching
and Dashboard
you need to enable them by hitting the corresponding the checkbox.
- The interface was created using
Streamlit
- The funcionality was created using python and libraries like
numpy, pandas
- Finally, the dashboard was created using
Altair
This is how the dashboard could look with a little bit of information