https://github.com/petarmc1/fish-tracker
The fish tracker is a project for CosmosMC that tracks all fish caught
https://github.com/petarmc1/fish-tracker
api express express-js frontend minecraft next nextsjs
Last synced: 6 months ago
JSON representation
The fish tracker is a project for CosmosMC that tracks all fish caught
- Host: GitHub
- URL: https://github.com/petarmc1/fish-tracker
- Owner: PetarMc1
- License: mit
- Created: 2025-06-22T22:36:12.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-08-31T13:38:54.000Z (11 months ago)
- Last Synced: 2025-08-31T15:32:18.727Z (11 months ago)
- Topics: api, express, express-js, frontend, minecraft, next, nextsjs
- Language: TypeScript
- Homepage: https://tracker.petarmc.com
- Size: 586 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Fish Tracker for CosmosMC

[
](https://discord.gg/Uah2dNRhFV)



A full-stack application to track and visualize fishing statistics on the [**CosmosMC Minecraft server**](https://cosmosmc.org).
## API (Backend)
- [Deployable with Docker](/backend/README.md#docker-deployment)
- Built using **Node.js**, **Express**, and **MongoDB**.
- Securely receives encrypted data and decrypts it on the server.
- Stores catch logs per user for later retrieval.
- Includes endpoints for:
- Fish and crab submission
- User registration and key storage
- Fetching logs and statistics
- Detailed info [here](https://docs.petarmc.com/fish-tracker/backend)
## Frontend (Viewer)
- [Deployable with Docker](/frontend/README.md#docker-deployment)
- Built with **Next.js** and **TailwindCSS**.
- Real-time visualization of fish-catching data.
- Features:
- Sorting, filtering, and searching
- User summaries and stats
- Secure login/logout
- Detailed info [here](https://docs.petarmc.com/fish-tracker/frontend)
## App (Desktop Logger)
> [!IMPORTANT]
> 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).
- Parses **Lunar Client logs** to detect fishing and crab catching events.
- Supports all fish types and rarities.
- Automatically encrypts catch data using **Fernet (AES 128-bit)**.
- Sends encrypted logs to the backend API in real time.
- Detailed info [here](https://docs.petarmc.com/fish-tracker/app)
## Security
- Uses **Fernet encryption** for secure end-to-end data protection.
- MongoDB stores only decrypted fish data; sensitive tokens are never stored in plaintext.
## Full Fish Rarity Mapping
| Tier | Rarity Names | Log Prefixes / Example Text | Description |
| ---- | ------------------------ | ---------------------------------------------------------------------- | --------------------------------- |
| 7 | Mythical | `INSANE CATCH!`, `NEW ENTRY! You caught a MYTHICAL ` | Ultra rare / top-tier new fish |
| 6 | Platinum | `LEGENDARY CATCH!`, `NEW ENTRY! You caught a PLATINUM ` | Very rare / exceptional new fish |
| 4 | Diamond | `EPIC CATCH!`, `NEW ENTRY! You caught a DIAMOND ` | Rare / high-tier new fish |
| 3 | Gold | `GREAT CATCH!`, `NEW ENTRY! You caught a GOLD ` | Above average / mid-tier new fish |
| 2 | Silver | `NICE CATCH!`, `NEW ENTRY! You caught a SILVER ` | Uncommon / low-mid new fish |
| 1 | Bronze | `GOOD CATCH!`, `NEW ENTRY! You caught a BRONZE ` | Common / basic new fish |
| 5 | Default (no tag/unknown) | `You caught a `, `NEW ENTRY! You caught a ` (unknown tier) | Unknown rarity |
Rarity is set as a number to save database space and make it easier and faster to process.
## For CosmosMC Players
Want a reserved fishing spot?
Join my [discord](https://discord.gg/Uah2dNRhFV) and apply for a spot through the applications channel.
## License
[MIT License](/LICENSE). Not affiliated with [CosmosMC](https://cosmosmc.org).