{"id":18078066,"url":"https://github.com/badbadbadbadbad/tsundoku","last_synced_at":"2026-04-13T18:02:22.037Z","repository":{"id":257919032,"uuid":"855764790","full_name":"badbadbadbadbad/tsundoku","owner":"badbadbadbadbad","description":"Client-side program to track personal backlog of different types of media","archived":false,"fork":false,"pushed_at":"2025-08-09T16:46:39.000Z","size":42654,"stargazers_count":0,"open_issues_count":17,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-09T18:28:58.944Z","etag":null,"topics":["apis","java","javafx","sqlite"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/badbadbadbadbad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-09-11T12:38:42.000Z","updated_at":"2025-08-09T16:46:43.000Z","dependencies_parsed_at":"2024-11-04T21:26:50.468Z","dependency_job_id":"8bfef85c-09e3-4828-b5e0-b72306be840e","html_url":"https://github.com/badbadbadbadbad/tsundoku","commit_stats":{"total_commits":62,"total_committers":1,"mean_commits":62.0,"dds":0.0,"last_synced_commit":"62ca2c8c200d82eea2344607d74307d8f2f9dd88"},"previous_names":["badbadbadbadbad/tsundoku"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/badbadbadbadbad/tsundoku","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/badbadbadbadbad%2Ftsundoku","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/badbadbadbadbad%2Ftsundoku/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/badbadbadbadbad%2Ftsundoku/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/badbadbadbadbad%2Ftsundoku/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/badbadbadbadbad","download_url":"https://codeload.github.com/badbadbadbadbad/tsundoku/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/badbadbadbadbad%2Ftsundoku/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31764317,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T15:25:13.801Z","status":"ssl_error","status_checked_at":"2026-04-13T15:25:09.162Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["apis","java","javafx","sqlite"],"created_at":"2024-10-31T12:11:28.912Z","updated_at":"2026-04-13T18:02:22.028Z","avatar_url":"https://github.com/badbadbadbadbad.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"/src/main/resources/assets/linux/256.png\" width=\"150\" height=\"150\" alt=\"tsundoku icon\"/\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003etsundoku\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cb\u003e積読 (tsundoku)\u003c/b\u003e — \u003ci\u003eBuilding up a backlog of books without reading them.\u003c/i\u003e\u003cbr\u003e\n    Track your backlog across different types of media, independent of the uptime of servers and websites hosted elsewhere.\n\u003c/p\u003e\n\n\u003cp align=\"middle\"\u003e\n   \u003cimg src=\"/src/main/resources/assets/github/01.png\" width=\"49%\"\u003e\n   \u003cimg src=\"/src/main/resources/assets/github/02.png\" width=\"49%\"\u003e\n\u003c/p\u003e\n\n\n## Features\n* No forums or similar social features to clutter up pages\n* All data in your backlog is stored in a local database, hence always available\n* Choose between using the original or translated title for Japanese media\n* Rate media as **heart**, **liked**, or **disliked** as score-based rating is a waste of time\n\n\n## Running\nDownload the latest (or otherwise desired) version from the [Releases](https://github.com/badbadbadbadbad/tsundoku/releases) section and extract it, then:\n* Windows: Run `tsundoku.exe`\n* Linux: Execute `tsundoku` from Terminal\n\n\n## Using\nThe **Browse** views represent your interaction point with the original data sources, split by media type, letting you check out popular or recent releases as well as search for specific media. Anything you can find here, you may add to your personal log - simply click on the item of your choice, change the personal status dropdown to your desired value, and save the changes.\u003cbr\u003e\n\nEach media type uses a different API to acquire data, with all of them (besides anime) requiring API credentials to access. In order to use a service, you will have to generate your own (free) API credentials for it, then enter that data in the Settings view. Be aware that any credentials you enter will be saved in a configuration file on your device, specifically so you are not bound by the uptime of some authentication service.\n\nThe **Log** views represent all the media you have consumed or sitting in your backlog, split by media type, letting you track your progress and manage your personal library. Any item that is in your personal log is permanently saved in your local database (unless removed later), meaning that you may interact with your backlog, even if the corresponding media type API or your own internet connection are unavailable. Items are first sorted by personal status, then by personal rating, then alphanumerically.\u003cbr\u003e\n\nUpcoming media may have some of their data fields (e.g. release date) unprovided, yet be available to add to your log, which causes incomplete data in your personal database. To remedy this issue, tsundoku will periodically poll the original data sources for updates on any media in your backlog. Hence, it is recommended to leave tsundoku open in the background every so often, giving the program a chance to keep all of your data up to date.\n\nAll items in the Browse and Log views change their border colour based on the following colour key:\n| Colour | Meaning |\n|:------:|---------|\n| Gold | Heart rating |\n| Green | Liked rating |\n| Red | Disliked rating |\n| Cyan | Unrated (Browse views) |\n| Grey | Unrated (Log views)\u003cbr\u003eNot in backlog (Browse views) |\n\n\n## Uninstalling\nSimply delete the folder you downloaded. To remove the configuration file and local database generated by tsundoku:\n* Windows: Delete `\u003cUser\u003e\\AppData\\Local\\tsundoku`\n* Linux: Delete `~/.local/share/tsundoku`\n\n## Building\ntsundoku is built using Maven and JavaPackager. Build scripts for both Windows and Linux are provided to remove the hassle of configuring JavaPackager for your environment.\n* Windows: Run `powershell -ExecutionPolicy Bypass -File build-windows.ps1`\n* Linux: Run `chmod +x build-linux.sh` to make the script executable, then `./build-linux.sh`\n\nThe tsundoku-\\\u003cversion\\\u003e-\\\u003coperating system\\\u003e archives in the `releases` section of this repository are built the same way.\n\n## Credits\ntsundoku serves as a combined front end for data sources and could not work without them.\n* Anime: [Jikan API](https://jikan.moe/), which gets the original data from [MyAnimeList](https://myanimelist.net/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbadbadbadbadbad%2Ftsundoku","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbadbadbadbadbad%2Ftsundoku","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbadbadbadbadbad%2Ftsundoku/lists"}