A CLI that tracks your study time and analyzes historical data of it with interactive charts in your terminal using the pomodoro technique.
I have always used the pomodoro technique to track the way I study and focus on my current tasks. I have been keeping track of this with a pomodoro mobile app that I use for my study sessions but over time I always get distracted because of notifications on my device. Thats when I had the idea what if I could do all that without using my phone. I started searching for alternatives and all I saw were browser extensions but I wanted something that will be rid of all distractions, so i started building this tool that works only in the terminal... an undistractable space.
Go, TermDash, Cobra, SQLite
- Start, Pause & Stop Pomodoro study sessions.
- Visualize summary of total amount study & break time in the CLI on a daily basis in Bar charts.
- Visualize summary of your weekly study trend with Line charts.
Each study session counts for 25 minutes
. After a study session you get a short break for 5 minutes
. After a total of 4 study sessions you get a long break of 15 minutes
, after which you can restart a study session. All your study data is stored in an SQLite Database.
-
Go (Golang)
-
SQLite
- Install using this tutorial
-
Fork repository
-
Clone the forked repository in prefered directory
git clone <project-url>
-
Enter project directory
cd pomanalyzer
-
Install dependencies
go get ./...
-
Clear Database
-
Make the script executable by running chmod if you are running Linux or MacOS
chmod +x clear_db.sh
-
Run the script with
./clear_db.sh
-
Start the project (in root of the project folder)
go build
-
Run CLI build
./pomanalyzer
- Integrate a light weight notification library like (notif) for audio notification for each pomanalyzer study session.
- Cross-build and cross-compilation of application on various platforms.
- Building and distributing the application with Docker.
if you have any issues running it or will like to make a contribute/suggest anything to the project, will be happy to hear from you in issues or PRs section :)
If you find a typo please help me fix it... Thanks!