Developed with:
programmingHabits is a shell script designed to enhance your productivity by integrating the Pomodoro technique into your daily routine. It provides regular break reminders, allows you to rate your work sessions, and includes additional reminders for drinking water, eating, walking, and reading.
As a programmer, I often found myself getting so engrossed in coding that I would forget to take breaks, stay hydrated, or even move around. This led to fatigue and decreased productivity over time. Realizing the importance of maintaining good habits and overall health, I decided to create a project that would help programmers like me stay healthy and productive. Thus, programmingHabits was born, a tool to remind us to take care of ourselves while we code.
- Pomodoro Timer: Customizable work and break periods.
- Notifications: Alerts for breaks and work resumption.
- Snooze Functionality: Option to snooze break reminders.
- Session Rating: Rate your productivity after each session.
- Session Analysis: Analyze your productivity over time.
- Healthy Reminders: Regular reminders to drink water, eat, take walks, read books, exercise and many more.
Suggestions are welcome...
-
Clone the Repository:
git clone https://github.com/prathampt/programmingHabits cd programmingHabits
-
Configuration:
- Edit the configuration file
config/settings.conf
to customize your session and break times. - Default values:
WORK_TIME=1500 # 25 minutes BREAK_TIME=300 # 5 minutes
- Edit the configuration file
-
Running the Scripts:
- Start the main Pomodoro timer script:
bash scripts/main.sh
- Start the additional reminders script:
bash scripts/reminders.sh
- Start the main Pomodoro timer script:
-
Add to Startup:
- Ensure the scripts run when your system starts by adding the following lines to your
.bashrc
or appropriate startup file:echo "bash /path/to/programmingHabits/scripts/main.sh &" >> ~/.bashrc echo "bash /path/to/programmingHabits/scripts/reminders.sh &" >> ~/.bashrc
- Ensure the scripts run when your system starts by adding the following lines to your
-
Session Analysis:
- Analyze your session ratings:
bash scripts/analyze.sh
- Analyze your session ratings:
scripts/main.sh
: Main script for the Pomodoro timer.scripts/reminders.sh
: Script for hydration, eating, walking, and reading reminders.scripts/analyze.sh
: Script to analyze session ratings.config/settings.conf
: Configuration file for session and break times.logs/session.log
: Log file for session ratings.
- Bash: The scripting language used for the entire project.
- zenity: A tool for displaying GTK+ dialog boxes from the command line, used for user interaction.
- notify-send: A command to send desktop notifications, used for break and reminder alerts.
- awk: A programming language used for text processing and session analysis.
Feel free to fork this repository and submit pull requests. Your contributions are welcome!
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your GitHub account.
- Clone Locally: Clone the forked repository to your local machine using a Git client.
git clone https://github.com/prathampt/programmingHabits
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to GitHub: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
Once your PR is reviewed and approved, it will be merged into the main branch.
This project is licensed under the GNU GENERAL PUBLIC LICENSE Version 3 - see the LICENSE file for details.
Don't forget to fork the repository and give a star if you liked it...