ReadingTracker helps you manage your reading workflow:
docker compose).git clone https://github.com/kunansy/ReadingTracker.env file: cp env.template .envdocker-compose.yml): docker network create tracker-netdocker exec -it tracker-app python3 /app/tracker/main.pyIf you want to use Google Drive backup/restore, create a Google Drive service account and put its JSON credentials into DRIVE_CREDS in your .env.
The guide below is a good starting point (use the first steps about service accounts):
https://labnol.org/google-api-service-account-220404
This page contains books/articles/courses you plan to read, with basic analytics (for example,
an estimated reading time based on your average pace).
![]()
This page contains materials you are currently reading.
![]()
This page contains materials you’ve finished.
![]()
This page contains materials you want to reread (typically a month later or more).
The priority equals the number of months since the material was last read/repeated.
![]()
This page shows your reading log. A day is red if you read fewer pages than your average,
and green if you read more.
![]()
This page contains your notes (key ideas from what you read).
You can full-text search via Manticoresearch and filter notes by material or tags.
![]()
Guidelines:
#health, #history, #linguistics, etc.[[c2ed0ac7-fe4f-4a23-a00c-8f61d16398ea]]This section shows a graph of all notes.
![]()
There is also a graph for a selected material.
![]()
You can open a note from the context menu, edit it, or delete it.
![]()
Use the arrows to iterate through linked notes.
![]()
This graph shows links for the current note.
![]()
When editing a note you can:
Start, Stop);Tag and link lists can be scrolled left/right.
![]()
This page includes charts and system tools (including backup/restore to Google Drive).
All charts show statistics for the selected time span (a week by default).
![]()
How the material was read over time:
![]()
![]()
Read pages statistics for the selected time span.
Would be total — how many pages would be read if there were no empty days;Inserted notes statistics for the selected time span.
![]()