{"id":50713551,"url":"https://github.com/zaydiscold/book-review-tracker","last_synced_at":"2026-06-09T17:03:25.034Z","repository":{"id":319407198,"uuid":"1076535443","full_name":"zaydiscold/book-review-tracker","owner":"zaydiscold","description":"A streamlined book review tracker with modal-based reviews and OpenLibrary integration","archived":false,"fork":false,"pushed_at":"2025-11-27T01:20:29.000Z","size":13775,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-28T07:26:53.191Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://zaydiscold.github.io/book-review-tracker/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zaydiscold.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-15T02:12:33.000Z","updated_at":"2025-11-27T01:18:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"b4cde408-e517-45f0-a3e4-170d4272cf5b","html_url":"https://github.com/zaydiscold/book-review-tracker","commit_stats":null,"previous_names":["zaydiscold/book-review-tracker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zaydiscold/book-review-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaydiscold%2Fbook-review-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaydiscold%2Fbook-review-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaydiscold%2Fbook-review-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaydiscold%2Fbook-review-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zaydiscold","download_url":"https://codeload.github.com/zaydiscold/book-review-tracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zaydiscold%2Fbook-review-tracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34116461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-09T17:03:24.168Z","updated_at":"2026-06-09T17:03:25.022Z","avatar_url":"https://github.com/zaydiscold.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A Reader's Memoir\nA local-first tracker for your library, wishlist, notes, and quick searches against OpenLibrary or LibGen.\n\n## Highlights\n- Add books with title, author, status, and covers pulled from OpenLibrary or LibGen metadata.\n- Search LibGen and OpenLibrary from the landing page, then drop results straight into your library or wishlist.\n- Works offline after first load with IndexedDB storage; optional backend proxy for LibGen.\n- Reading stats view is available; more reporting is planned.\n\n## Stack\n- React 18 + Vite with Tailwind.\n- IndexedDB for persistence (client only).\n- Optional LibGen proxy: Express on port 4000 forwarding to a Python microservice on 5001.\n\n## Supabase sync (optional)\n- Drop `docs/supabase.sql` into the Supabase SQL editor to create tables, indexes, triggers, and policies.\n- Add env vars in `src/frontend/.env`:\n  ```\n  VITE_SUPABASE_URL=...\n  VITE_SUPABASE_ANON_KEY=...\n  ```\n- The app will auto-sync when those env vars are set (see `src/data/supabaseClient.js` and `src/data/cloudSync.js`).\n\n## Getting Started\nFrontend\n```\ncd src/frontend\nnpm install\nnpm run dev -- --host --port 5174\n```\nOpen http://localhost:5174/book-review-tracker/\n\nFrontend build\n```\ncd src/frontend\nnpm run build\n```\n\nOptional backend (LibGen proxy)\n```\ncd src/backend\nnpm install\nnode server.js\n```\nEnsure the Python LibGen service is running on port 5001 before using the proxy.\n\n## Project Map\n```\nbook-review-tracker/\n├─ src/\n│  ├─ frontend/        React app, Tailwind styles, components, data clients\n│  ├─ backend/         Express proxy for LibGen\n│  ├─ data/            Shared helpers for storage and APIs\n│  ├─ python-service/  LibGen microservice (manual start)\n│  └─ utils/           Legacy helpers now removed\n├─ docs/               Plan and setup notes\n└─ README.md\n```\n\n## Usage Notes\n- Add books manually or from search results; LibGen metadata flows through when searched there.\n- Status options include wishlist, reading, finished, on hold, and did not finish.\n- Data stays in the browser unless you wire up the proxy and cloud sync.\n\n## Troubleshooting\n- White screen during development: run `npm run dev` from `src/frontend` and confirm Tailwind content globs target frontend files.\n- LibGen search fails: start the Python service on 5001 and the Express proxy on 4000, or rely on OpenLibrary search only.\n- Missing data after reload: some browsers block IndexedDB in private mode; switch to a regular tab.\n\n## License\nMIT.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzaydiscold%2Fbook-review-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzaydiscold%2Fbook-review-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzaydiscold%2Fbook-review-tracker/lists"}