Because life is a time-series of heart beats
measures the whole time spent on every project you have and helps you manage time on your projects.
Goal: To become your time-aware assistant. To record even your heart beats.
-
"Create project" endpoint
-
Start timer on project
-
End timer on project
-
Check total time for day endpoint
-
Add validation for multiple active timers
-
Use environment variables for DB DNS
-
Rotate secrets
-
Provide custom starting time
-
Provide custom stopping time
-
Testing with pytest
-
Add Google build CI
-
Make CI push images to GCR
-
Remove deprecated app
-
Deploy on GCC
-
Migrate old data
-
Web App in VueJS
-
Deploy to Cloud Run
-
Finish CD using GCR, Cloud Run, and Cloud Build
-
Provide meaningful errors
-
Smart assistant (alexa or google for a start)
-
Enhance API by providing a timer-specific API.
It shouldn't be directly interfacting The timelogs
-
Move GCC to Eurozone to lower latency to ~ 50 ms
-
Browser plugin
-
Set up different databases for different environments
-
Version the repo
-
Think about Canary Releases
-
DataLake and backup?
-
Dashboard
-
Add console client written in bash or GoLang
-
Desktop app like Upwork timer (for macos)
-
MobileApp (sheetu)
MongoDB hosted in the cloud. We can add it to compose later to make it more convenient to users
To install dependencies, use make ops
to start a shell with pipenv files in sync.
After that, run the pipenv commands you need. for example, pipenv install pytest --dev
This app uses GCP for deployment. Git push does everything automatically.
- Google build run the CI automatically.
- If all is well, an image is built
- Google Run is redeployed using the new image