{"id":29028484,"url":"https://github.com/petarmc1/fish-tracker","last_synced_at":"2026-01-23T17:09:49.426Z","repository":{"id":301229273,"uuid":"1006737075","full_name":"PetarMc1/fish-tracker","owner":"PetarMc1","description":"The fish tracker is a project for CosmosMC that tracks all fish caught","archived":false,"fork":false,"pushed_at":"2025-08-31T13:38:54.000Z","size":600,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-31T15:32:18.727Z","etag":null,"topics":["api","express","express-js","frontend","minecraft","next","nextsjs"],"latest_commit_sha":null,"homepage":"https://tracker.petarmc.com","language":"TypeScript","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/PetarMc1.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":"2025-06-22T22:36:12.000Z","updated_at":"2025-08-31T13:38:50.000Z","dependencies_parsed_at":"2025-06-25T20:39:26.906Z","dependency_job_id":null,"html_url":"https://github.com/PetarMc1/fish-tracker","commit_stats":null,"previous_names":["petarmc1/fish-tracker"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/PetarMc1/fish-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetarMc1%2Ffish-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetarMc1%2Ffish-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetarMc1%2Ffish-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetarMc1%2Ffish-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PetarMc1","download_url":"https://codeload.github.com/PetarMc1/fish-tracker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetarMc1%2Ffish-tracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278793291,"owners_count":26046954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"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":["api","express","express-js","frontend","minecraft","next","nextsjs"],"created_at":"2025-06-26T07:11:42.570Z","updated_at":"2026-01-12T16:25:00.082Z","avatar_url":"https://github.com/PetarMc1.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fish Tracker for CosmosMC\n\n![License](https://img.shields.io/github/license/PetarMc1/fish-tracker?cacheSeconds=1000)\n[![Discord](https://img.shields.io/discord/1281676657169535097?logo=Discord\u0026logoColor=white\u0026label=Discord\u0026labelColor=blue\u0026color=green\u0026cacheSeconds=10)\n](https://discord.gg/Uah2dNRhFV)\n![Release](https://img.shields.io/github/v/release/PetarMc1/fish-tracker?include_prereleases\u0026label=Release)\n![GitHub deployments](https://img.shields.io/github/deployments/PetarMc1/fish-tracker/production?label=Production%20Deployment)\n![GitHub deployments](https://img.shields.io/github/deployments/PetarMc1/fish-tracker/preview?label=Staging%20Deployment)\n\n\n\nA full-stack application to track and visualize fishing statistics on the [**CosmosMC Minecraft server**](https://cosmosmc.org).\n\n\n## API (Backend)\n\n- [Deployable with Docker](/backend/README.md#docker-deployment)\n- Built using **Node.js**, **Express**, and **MongoDB**.\n- Securely receives encrypted data and decrypts it on the server.\n- Stores catch logs per user for later retrieval.\n- Includes endpoints for:\n  - Fish and crab submission\n  - User registration and key storage\n  - Fetching logs and statistics\n- Detailed info [here](https://docs.petarmc.com/fish-tracker/backend)\n\n## Frontend (Viewer)\n\n- [Deployable with Docker](/frontend/README.md#docker-deployment)\n- Built with **Next.js** and **TailwindCSS**.\n- Real-time visualization of fish-catching data.\n- Features:\n  - Sorting, filtering, and searching\n  - User summaries and stats\n  - Secure login/logout\n- Detailed info [here](https://docs.petarmc.com/fish-tracker/frontend)\n\n## App (Desktop Logger)\n\n\u003e [!IMPORTANT]\n\u003e This desktop logger is incompatible with the recent [`id → name`](https://github.com/PetarMc1/fish-tracker/commit/6a14a2bab53005b810f13a7a93442255c498fbe1) API change and is no longer maintained. Use the maintained [**Fish Tracker Mod**](https://github.com/PetarMc1/fish-tracker-mod).\n\n- Parses **Lunar Client logs** to detect fishing and crab catching events.\n- Supports all fish types and rarities.\n- Automatically encrypts catch data using **Fernet (AES 128-bit)**.\n- Sends encrypted logs to the backend API in real time.\n- Detailed info [here](https://docs.petarmc.com/fish-tracker/app)\n\n## Security\n\n- Uses **Fernet encryption** for secure end-to-end data protection.\n- MongoDB stores only decrypted fish data; sensitive tokens are never stored in plaintext.\n\n## Full Fish Rarity Mapping\n\n| Tier | Rarity Names             | Log Prefixes / Example Text                                            | Description                       |\n| ---- | ------------------------ | ---------------------------------------------------------------------- | --------------------------------- |\n| 7    | Mythical                 | `INSANE CATCH!`, `NEW ENTRY! You caught a MYTHICAL \u003cFish\u003e`             | Ultra rare / top-tier new fish    |\n| 6    | Platinum                 | `LEGENDARY CATCH!`, `NEW ENTRY! You caught a PLATINUM \u003cFish\u003e`          | Very rare / exceptional new fish  |\n| 4    | Diamond                  | `EPIC CATCH!`, `NEW ENTRY! You caught a DIAMOND \u003cFish\u003e`                | Rare / high-tier new fish         |\n| 3    | Gold                     | `GREAT CATCH!`, `NEW ENTRY! You caught a GOLD \u003cFish\u003e`                  | Above average / mid-tier new fish |\n| 2    | Silver                   | `NICE CATCH!`, `NEW ENTRY! You caught a SILVER \u003cFish\u003e`                 | Uncommon / low-mid new fish       |\n| 1    | Bronze                   | `GOOD CATCH!`, `NEW ENTRY! You caught a BRONZE \u003cFish\u003e`                 | Common / basic new fish           |\n| 5    | Default (no tag/unknown) | `You caught a \u003cFish\u003e`, `NEW ENTRY! You caught a \u003cFish\u003e` (unknown tier) | Unknown rarity                    |\n\nRarity is set as a number to save database space and make it easier and faster to process.\n\n## For CosmosMC Players\n\nWant a reserved fishing spot?\nJoin my [discord](https://discord.gg/Uah2dNRhFV) and apply for a spot through the applications channel.\n\n## License\n\n[MIT License](/LICENSE). Not affiliated with [CosmosMC](https://cosmosmc.org).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetarmc1%2Ffish-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpetarmc1%2Ffish-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetarmc1%2Ffish-tracker/lists"}