A cross-platform, GitHub-based time tracker powered by Flutter. It can be used as a logger or a journal.
- I fell in love with this app named iTodayss a few years ago. As far as I know, it is the best time management app. Unfortunately, it only supports Android, and this makes it inconvenient for computer-based scenarios. This app is only a simple copy of iTodayss, honor to Yaohong9257.
- This book time-as-a-friend talked me into adopting the habit of time tracking. From this book I knew Aleksandr Lyubishchev.
- "Carpe diem. Seize the day." - Dead Poets Society
- I simply aim at cross-platform, hence, it is powered by Flutter.
- Considering data privacy and accessibility, I choose not to host the backend. I did consider some options here.
- Google Drive? Not a good idea. Not everyone can access google.
- Firebase? Not a good idea. I don't want to obtain and maintain the user's data.
- Some third-party storage services? Not a good idea as well, lack of freedom.
- Local storage only? Not an option at all because it should be able to be usable and consistent on various platforms.
- Then GitHub API came to my mind. Why not? We just need to
- Create a GitHub account
- Create a private repository
- Generate a private access token link here
- Use the above information to access the GitHub API. After all, the data itself is not complicated and huge.
- I am too lazy, and choose to store the data using issues. In this way, the repo might look messy, but it should be fine because it is a private repo and no one can see it. I assume a user only has a few thousand records per year.
- There is rate limiting imposed on GitHub APIs.
- I don't expect the user to click or swipe the screen frequently.
- My expectation would be a few actions to be performed per minute, according to the fact that we can make up to 30 requests per minute for the Search API.
- It is not in the stable state right now. Only 40% of functionalities are implemented at the moment.
- Many ideas and functions are to be implemented, but to start recording is a good beginning.
- The data can be integrated with GitHub Actions.