Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/haolamnm/pomodoro-50
[CS50x] A Flask-powered Pomodoro web app with session and database management, AI integration, user authentication and customizable timers, and productivity tracking.
https://github.com/haolamnm/pomodoro-50
ai cs50x css flask html javascript postgresql python supabase unit-testing vercel
Last synced: 3 days ago
JSON representation
[CS50x] A Flask-powered Pomodoro web app with session and database management, AI integration, user authentication and customizable timers, and productivity tracking.
- Host: GitHub
- URL: https://github.com/haolamnm/pomodoro-50
- Owner: haolamnm
- Created: 2024-12-29T06:34:55.000Z (18 days ago)
- Default Branch: master
- Last Pushed: 2025-01-07T17:12:38.000Z (8 days ago)
- Last Synced: 2025-01-07T18:25:47.248Z (8 days ago)
- Topics: ai, cs50x, css, flask, html, javascript, postgresql, python, supabase, unit-testing, vercel
- Language: Python
- Homepage: https://pomodoro-50.vercel.app
- Size: 299 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Pomodoro 50
First of all, This is my project for CS50x 2024.
Welcome to Pomodoro 50! A Flask web application that helps you manage your study session. The difference between Pomodoro 50 and other Pomodoro timers is that Pomodoro 50 is a 50-minute timer, not a 25-minute timer. Yes, you read that right! I found that 25 minutes is too short for me to focus on my work, so I decided to make a 50-minute timer instead.
But that's not all! The key feature of Pomodoro 50 is that it has an AI assistant that will motivate you when you intentionally pause your work session for bad reasons.
In conclusion, with Pomodoro 50, you can:
+ Start your study session.
+ Have your to-do list.
+ Have your own account that will track your progress throughout the year.
+ Have an AI assistant that will motivate you when you intentionally pause for bad reasons.## Getting Started
### 1. Online access
You can access the website at [Pomodoro 50](https://pomodoro-50.vercel.app/).
### 2. Local setup
1. Folk the repository.
2. Clone the repository.
```bash
git clone https://github.com/haolamnm/CS50x-project.git
```3. Install the required packages.
```bash
pip install -r requirements.txt
```4. Set the environment variables.
5. Run the application.
```bash
python run.py
```## How to use
Start by create your own account via the [register](https://pomodoro-50.vercel.app/register) page. The UI is pretty straightforward, so you should be able to navigate through the website easily.
## Inspiration
I was inspired by the actual Pomodoro I used to study which is [Pomofocus](https://pomofocus.io/app). It was a great tool, but it offers a premium feature which shows the statistics of your study session. I thought it would be a great idea to make my own version. Besides, I also learned about AI and thought it would be cool to have a mini AI assistant that motivates you when you pause your work session for some kind of bad reason.
## Technical Stack
1. **Flask**: For routing and backend.
+ **Flask-Migrate**, **Flask-Session**, **Flask-SQLAlchemy** for user session and data management.
+ **Flask-Mail** for sending reset password email.
2. **PostgreSQL**: I used Supabase as the database, [Supabase](https://supabase.com/).
3. **Redis**: I used Redis to store the session data, [Upstash](https://upstash.com/).
4. **Vercel**: I used Vercel to deploy the website, [Vercel](https://vercel.com/).
5. **Pytest**: I wrote lots of unit tests for this project.## For Developers
If you want to contribute to this project, feel free to fork the repository and make a pull request. I would love to see your contribution!
Email: [[email protected]](mailto:[email protected]).
GitHub: [@haolamnm](https://github.com/haolamnm).
LinkedIn: [@haolamnm](https://www.linkedin.com/in/haolamnm/).
---