{"id":48935252,"url":"https://github.com/jukelyn/acnh-fish-chart","last_synced_at":"2026-04-17T11:31:40.939Z","repository":{"id":281788261,"uuid":"946096210","full_name":"Jukelyn/acnh-fish-chart","owner":"Jukelyn","description":"A simple site for tracking fish and finding the best months to fish to complete the Critterpedia in Animal Crossing: New Horizons!","archived":false,"fork":false,"pushed_at":"2025-05-14T04:26:20.000Z","size":38465,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-14T06:03:50.138Z","etag":null,"topics":["animal-crossing","animal-crossing-new-horizons","css","flask","html","javascript","python"],"latest_commit_sha":null,"homepage":"https://acnh-fish.jukelyn.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jukelyn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-10T15:50:06.000Z","updated_at":"2025-05-14T04:26:18.000Z","dependencies_parsed_at":"2025-03-26T19:39:11.549Z","dependency_job_id":null,"html_url":"https://github.com/Jukelyn/acnh-fish-chart","commit_stats":null,"previous_names":["jukelyn/acnh-fish-chart"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Jukelyn/acnh-fish-chart","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jukelyn%2Facnh-fish-chart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jukelyn%2Facnh-fish-chart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jukelyn%2Facnh-fish-chart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jukelyn%2Facnh-fish-chart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jukelyn","download_url":"https://codeload.github.com/Jukelyn/acnh-fish-chart/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jukelyn%2Facnh-fish-chart/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31927697,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-17T10:35:34.458Z","status":"ssl_error","status_checked_at":"2026-04-17T10:35:09.472Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["animal-crossing","animal-crossing-new-horizons","css","flask","html","javascript","python"],"created_at":"2026-04-17T11:31:37.113Z","updated_at":"2026-04-17T11:31:40.928Z","avatar_url":"https://github.com/Jukelyn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Repo Banner](https://github.com/Jukelyn/acnh-fish-chart/blob/main/static/images/repo_banner.png?raw=true\u0026v=2)\n\n\u003cdiv align=\"center\"\u003e\n   \n   ![GitHub License](https://img.shields.io/github/license/Jukelyn/acnh-fish-chart?label=Licensing\u0026color=springgreen)\n   ![Website](https://img.shields.io/website?url=https%3A%2F%2Facnh-fish.jukelyn.com\u0026up_message=Up\u0026up_color=springgreen\u0026down_color=crimson\u0026down_message=Down\u0026label=Site%20Status\u0026cacheSeconds=10)\n   ![Pylint Workflow Status Badge](https://github.com/Jukelyn/acnh-fish-chart/actions/workflows/pylint.yaml/badge.svg?color=springgreen)\n   ![Docker Workflow Status Badge](https://github.com/Jukelyn/acnh-fish-chart/actions/workflows/restart_docker.yaml/badge.svg?color=springgreen)\n   ![SFTP Workflow Status Badge](https://github.com/Jukelyn/acnh-fish-chart/actions/workflows/sftp.yaml/badge.svg?color=springgreen)\n   ![Super Linter Workflow Status Badge](https://github.com/Jukelyn/acnh-fish-chart/actions/workflows/super-linter.yaml/badge.svg?color=springgreen)\n\n### Built using\n\n![Python](https://img.shields.io/badge/python-3670A0?style=flat\u0026logo=python\u0026logoColor=ffdd54)\n![Flask](https://img.shields.io/badge/flask-%23000.svg?style=flat\u0026logo=flask\u0026logoColor=white)\n![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=flat\u0026logo=html5\u0026logoColor=white)\n![CSS3](https://img.shields.io/badge/css3-%231572B6.svg?style=flat\u0026logo=css3\u0026logoColor=white)\n![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=flat\u0026logo=javascript\u0026logoColor=%23F7DF1E)\n\n### Deployed on\n\n![Ubuntu](https://img.shields.io/badge/Ubuntu-E95420?style=flat\u0026logo=ubuntu\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=flat\u0026logo=docker\u0026logoColor=white)\n![Nginx](https://img.shields.io/badge/nginx-%23009639.svg?style=flat\u0026logo=nginx\u0026logoColor=white)\n\n\u003c/div\u003e\n\u003chr /\u003e\n\n## Table of Contents\n\n- [ACNH Fishing Tracker/Guide](#acnh-fishing-trackerguide)\n- [Current Features](#current-features)\n- [Information](#information)\n- [Local Development](#local-development)\n- [Docker Deployment](#docker-deployment)\n\n\u003chr /\u003e\n\n# ACNH Fishing Tracker/Guide\n\nA simple site for tracking fish and finding the best months to fish to complete the Critterpedia!\n\n## Current Features\n\n1. **Reads fish spawning data** from `data/fish_datasheet.csv`, extracting all fish names and their spawning months.\n2. **Creates two main DataFrames:**\n   - `NH_df` → Contains fish names and their **Northern Hemisphere** spawning months.\n   - `SH_df` → Contains fish names and their **Southern Hemisphere** spawning months.\n3. **Generates spawning calendar** for the chosen hemispheres:\n   - Rows: Fish names\n   - Columns: Months (January–December)\n   - Green cells: Indicate spawning months\n4. **Ability to input** fish that have been caught:\n   - Inputs fish data via a form\n   - Checks for the valid fishes and removes them from the _uncaught list_\n\n## Information\n\nThe fish spawning data is from [this spreadsheet](https://docs.google.com/spreadsheets/d/e/2PACX-1vTGrIfAI5ybCvaiIux5kEbermRFZe6aooAs7I1iVrJF27DrXSOJQxxEcQXzIw6KRacx1721da2oN2SM/pubhtml)\nand the data for caught fish can be editted by anybody but the site that I used for mine is\n[ac-catch](https://ac-catch.com/) and [nook.lol](https://nook.lol/).\nIt doesn't matter where the input data is from but it just needs to include the proper\nfish names (`blue_marlin` vs `blue marlin`) and one fish per row. The file can also\ncontain other random info but if it isn't a fish that is properly named to match the fish in the datasheet, it will be filtered and a fuzzy matching algorithm will be used to suggest what fishs the input may be for.\n\nSee fuzzy matching below:\n\n\u003cdiv align=\"center\"\u003e\n\n![Method img](https://github.com/Jukelyn/acnh-fish-chart/blob/main/static/images/get_closest_match_image_transparent.png)\n\n\u003c/div\u003e\n\n## Local Development\n\nThe site is written using Flask and mostly HTML and JS. In order to host a local version of the site, these are the reccomended instructions:\n\n1. Have Python and pip installed\n2. Clone the repo\n\n   ```bash\n   git clone https://github.com/Jukelyn/acnh-fish-chart.git\n\n   ```\n3. Enter the repo and create a virtual enviornment (venv)\n\n   ```\n   cd acnh-fish-chart \u0026\u0026 python3 -m venv venv\n\n   ```\n4. Activate the venv\n\n   POSIX bash/zsh:\n   ```bash\n   source venv/bin/activate\n   ```\n   Windows:\n   ```cmd\n   C:\\\u003e venv\\Scripts\\activate.bat\n   PS C:\\\u003e venv\\Scripts\\Activate.ps1 // Don't do this though, why are you using PowerShell?\n   ```\n5. Install dependencies\n   ```bash\n   pip install -r requirements.txt\n   ```\n6. Host a local server\n   ```bash\n   python run.py\n   ```\nThe site should now be available on `127.0.0.1:5000` (or whatever other IP/port you set in `src/__init__.py`)\n\n\u003chr /\u003e\n\n## Docker Deployment\n\n1. Follow the previous steps 1 to 5.\n2. [Build](https://docs.docker.com/build/concepts/dockerfile/#building) the docker image from the provided Dockerfile. (You can also just do step 3, it will build it for you)\n3. Change the `docker-compose.yaml` file to use the networks that you have defined, or remove the network fields if you want to have it create it's own automatically.\n4. Add port to forward, if needed. If you are using a reverse proxy on the same server, you don't need to do this, just forward your (sub)domain to the container on the port directly. (Default: 5000)\n- If you change the port, make sure to change it in `src/__init__.py` as well as `Dockerfile`.\n6. Run `docker compose up -d`\n7. Navigate to the IP:port or (sub)domain that you assigned in your reverse proxy.\n\n\u003chr /\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjukelyn%2Facnh-fish-chart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjukelyn%2Facnh-fish-chart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjukelyn%2Facnh-fish-chart/lists"}