{"id":45374681,"url":"https://github.com/hacan359/tonkatsu_box","last_synced_at":"2026-02-28T13:18:42.084Z","repository":{"id":336265262,"uuid":"1148931582","full_name":"hacan359/tonkatsu_box","owner":"hacan359","description":"Free open-source app to organize collections of retro games, movies, TV shows \u0026 anime. Track progress, rate favorites, create visual boards, share with friends. Flutter · Windows · Android","archived":false,"fork":false,"pushed_at":"2026-02-19T12:43:07.000Z","size":2841,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-19T13:35:59.049Z","etag":null,"topics":["android-app","anime-tracker","backlog-tracker","collection-manager","dart","flutter","game-collection","igdb","material-design-3","media-library","movie-tracker","open-source","retro-games","riverpod","sqlite","steamgriddb","tmdb","tv-show-tracker","windows-app"],"latest_commit_sha":null,"homepage":"https://hacan359.github.io/tonkatsu_box/","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hacan359.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-03T14:33:38.000Z","updated_at":"2026-02-19T13:32:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"11ad242a-a429-4ad5-b3af-04e07467f45d","html_url":"https://github.com/hacan359/tonkatsu_box","commit_stats":null,"previous_names":["hacan359/xerabora"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hacan359/tonkatsu_box","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacan359%2Ftonkatsu_box","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacan359%2Ftonkatsu_box/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacan359%2Ftonkatsu_box/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacan359%2Ftonkatsu_box/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hacan359","download_url":"https://codeload.github.com/hacan359/tonkatsu_box/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacan359%2Ftonkatsu_box/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29685018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T15:51:39.154Z","status":"ssl_error","status_checked_at":"2026-02-21T15:49:03.425Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["android-app","anime-tracker","backlog-tracker","collection-manager","dart","flutter","game-collection","igdb","material-design-3","media-library","movie-tracker","open-source","retro-games","riverpod","sqlite","steamgriddb","tmdb","tv-show-tracker","windows-app"],"created_at":"2026-02-21T16:01:02.111Z","updated_at":"2026-02-21T16:01:03.268Z","avatar_url":"https://github.com/hacan359.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/images/logo.png\" width=\"120\" alt=\"Tonkatsu Box\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eTonkatsu Box\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eOrganize your games, movies, TV shows, and anime — all in one place\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#\"\u003e\u003cimg src=\"https://img.shields.io/badge/Windows-0078D4?style=for-the-badge\u0026logo=windows\u0026logoColor=white\" alt=\"Windows\"\u003e\u003c/a\u003e\n  \u003ca href=\"#\"\u003e\u003cimg src=\"https://img.shields.io/badge/Android-3DDC84?style=for-the-badge\u0026logo=android\u0026logoColor=white\" alt=\"Android\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/hacan359/tonkatsu_box/actions/workflows/test.yml\"\u003e\n    \u003cimg src=\"https://github.com/hacan359/tonkatsu_box/actions/workflows/test.yml/badge.svg\" alt=\"Tests\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-MIT-blue.svg\" alt=\"License: MIT\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://flutter.dev\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Flutter-3.38+-02569B?logo=flutter\u0026logoColor=white\" alt=\"Flutter 3.38+\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\nTonkatsu Box is a free, open-source collection manager for retro games, movies, TV shows, and anime. Search IGDB and TMDB databases with hundreds of thousands of titles, organize them into custom collections, track your backlog and progress, rate everything from 1 to 10, create visual boards with drag-and-drop, and share collections with friends. Available for Windows and Android.\n\n## What You Can Do\n\n### 🎮 Build Collections\nCreate as many collections as you want — by platform (SNES, PlayStation, PC), genre (RPGs, Sci-Fi), or your own lists (Backlog, Favorites, Couch co-op night). Mix games, movies and anime in a single collection. Switch between list and poster grid view.\n\n### 🔍 Search \u0026 Discover\nFind games, movies, TV shows, and anime from a database of hundreds of thousands of titles. Filter by year, genre, or platform. Add anything you find to your collections with one tap.\n\n### 📝 Wishlist\nNo internet right now? Jot down the name of a game or movie to search for later. Tag it with a media type, add a note, and tap it when you're ready — the app opens search with the name pre-filled. Mark items as resolved when you've found them.\n\n### 📊 Track Your Progress\nMark items as Not Started, In Progress, Completed, On Hold, or Dropped. For TV shows and anime, track individual episodes with per-season checkboxes. Rate everything from 1 to 10 stars. See when you started and finished each item.\n\n### 🎨 Visual Boards\nArrange your collection on a free-form board — drag posters around, add text notes, images, and links. Draw connections between items. Browse high-quality game artwork from SteamGridDB and add it to your boards. Each item can also have its own personal board.\n\n### 📤 Share with Friends\nExport your collections as `.xcoll` (lightweight) or `.xcollx` (full offline copy with all images and data). Friends can import them and fork to create their own version.\n\n## Getting Started\n\n### Step 1: Get your API keys\n\nThe app uses free APIs to search for games, movies, and artwork. You'll need to register for API keys (it's free and takes a few minutes).\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e🎮 IGDB — for searching games (required)\u003c/b\u003e\u003c/summary\u003e\n\nIGDB is powered by Twitch, so you'll need a Twitch account.\n\n1. Go to **[dev.twitch.tv/console](https://dev.twitch.tv/console)** and log in (or create a free Twitch account)\n2. Click **Register Your Application**\n3. Fill in the form:\n   - **Name:** `Tonkatsu Box` (or anything you like)\n   - **OAuth Redirect URLs:** `http://localhost`\n   - **Category:** `Application Integration`\n4. Click **Create**\n5. Open your new application and copy the **Client ID**\n6. Click **New Secret** and copy the **Client Secret**\n\nYou'll enter both in the app under **Settings → Credentials**.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e🎬 TMDB — for searching movies, TV shows \u0026 anime (recommended)\u003c/b\u003e\u003c/summary\u003e\n\n1. Go to **[themoviedb.org](https://www.themoviedb.org/)** and create a free account\n2. Go to your profile → **Settings** → **API**\n3. Click **Request an API Key** → choose **Developer**\n4. Fill in the form (for personal/non-commercial use)\n5. Copy your **API Key (v3 auth)**\n\nEnter it in the app under **Settings → Credentials**.\n\n\u003e [!TIP]\n\u003e Without a TMDB key, game search still works — you just won't be able to search for movies, TV shows, or anime.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e🖼️ SteamGridDB — for game artwork on boards (optional)\u003c/b\u003e\u003c/summary\u003e\n\n1. Go to **[steamgriddb.com](https://www.steamgriddb.com/)** and create a free account\n2. Go to **Preferences** → **API**\n3. Copy your **API Key**\n\nEnter it in the app under **Settings → Credentials**.\n\n\u003e [!TIP]\n\u003e This key is only needed if you want to add high-quality game artwork (covers, heroes, logos) to your visual boards.\n\n\u003c/details\u003e\n\n\u003e [!TIP]\n\u003e On first launch, the app will walk you through a **Welcome Wizard** that explains everything — you can also revisit it later from **Settings → Welcome Guide**.\n\n### Step 2: Install and run\n\n```bash\ngit clone https://github.com/hacan359/tonkatsu_box.git\ncd xerabora\nflutter pub get\nflutter run -d windows    # or: flutter run -d android\n```\n\n\u003e [!NOTE]\n\u003e You'll need [Flutter SDK](https://flutter.dev/docs/get-started/install) installed. Windows builds require the Windows desktop development tools, Android builds require the Android SDK.\n\u003e\n\u003e Android release builds require a signing keystore. See the [Contributing Guide](docs/CONTRIBUTING.md#android-release-builds) for setup instructions.\n\n### Step 3: Enter your API keys\n\nOpen the app → go to **Settings** → **Credentials** and paste your API keys. You're ready to go!\n\n## Sharing Collections\n\n### Exporting\n\n1. Open a collection → tap the **menu** (⋮) → **Export**\n2. Choose a format:\n   - **Light export** (`.xcoll`) — small file with just the list of items. The recipient will need internet to load images and details.\n   - **Full export** (`.xcollx`) — complete package with all images, board layouts, and media data. Works fully offline.\n3. Pick where to save the file\n\n### Importing\n\n1. Go to **Settings** → **Database** → **Import Collection**\n2. Select a `.xcoll` or `.xcollx` file\n3. The collection appears in your list — you can browse it as read-only or **fork** it to make your own editable copy\n\n## Platforms\n\n| | Windows | Android |\n|---|:---:|:---:|\n| Collections \u0026 search | ✅ | ✅ |\n| Progress \u0026 episode tracking | ✅ | ✅ |\n| Visual boards | ✅ | ✅ |\n| VGMaps browser (level maps) | ✅ | — |\n| Export \u0026 import | ✅ | ✅ |\n\n## Documentation\n\nFor developers and contributors:\n\n| Document | Description |\n|----------|-------------|\n| [Features](docs/FEATURES.md) | Detailed feature list |\n| [Architecture](docs/ARCHITECTURE.md) | Project structure, models, database |\n| [Getting Started](docs/GETTING_STARTED.md) | Developer setup guide |\n| [API Keys Guide](docs/guides/API_KEYS.md) | Detailed API key registration instructions |\n| [How It Works](docs/guides/HOW_IT_WORKS.md) | App structure, quick start, sharing |\n| [Roadmap](docs/ROADMAP.md) | Development progress and future plans |\n| [Export Format](docs/RCOLL_FORMAT.md) | `.xcoll` / `.xcollx` file format spec |\n| [Gamepad Support](docs/GAMEPAD.md) | Xbox controller / D-pad navigation |\n| [Contributing](docs/CONTRIBUTING.md) | Contribution guidelines |\n| [Changelog](CHANGELOG.md) | Version history |\n\n## Tech Stack\n\nFlutter 3.38+ / Dart 3.10+ · Riverpod · SQLite · Dio · Material Design 3\n\n## Contributing\n\nContributions are welcome! See the [Contributing Guide](docs/CONTRIBUTING.md) for details.\n\n## Code Signing Policy\n\nWindows binaries are signed with a certificate provided by [SignPath Foundation](https://signpath.org).\n\nFree code signing provided by [SignPath.io](https://signpath.io), certificate by [SignPath Foundation](https://signpath.org).\n\n**Team roles:**\n- Committers and reviewers: [hacan359](https://github.com/hacan359)\n- Approvers: [hacan359](https://github.com/hacan359)\n\n**Privacy policy:** This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it. The application uses third-party APIs (IGDB, TMDB, SteamGridDB) only when the user explicitly initiates a search or data fetch.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhacan359%2Ftonkatsu_box","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhacan359%2Ftonkatsu_box","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhacan359%2Ftonkatsu_box/lists"}