Skip to content

jacuzzicoding/animalcrossingwebapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

274 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Animal Crossing Museum Tracker

A cozy companion web app for tracking Animal Crossing museum donations across multiple towns. Supports all five mainline games: GameCube, Wild World, City Folk, New Leaf, and New Horizons.

Live app: https://animalcrossingwebapp.vercel.app


Features

  • Track donations for all museum categories: Fish, Bugs, Fossils, Art, and Sea Creatures
  • Manage multiple towns from a single TownManager drawer — switch, rename, create, and delete (game is locked at create-time)
  • Five games supported: Animal Crossing (GCN), Wild World, City Folk, New Leaf, New Horizons
  • Persistent left sidebar with brand, active town card, per-category donation counts, and Export CSV / Settings footer
  • Inline item expand — tap any row (Fish, Bugs, Fossils, Sea Creatures, or Art) to open a two-column panel with the month availability grid, bells / shadow / hours / basedOn real-world reference / Crazy Redd authentication note (ACNH art), notes, and donate/undonate button
  • Hemisphere toggle — New Horizons towns expose an NH/SH toggle; month grids reflect the correct hemisphere
  • URL-based navigation — every town and tab has a shareable URL via React Router v6
  • Home screen with hero stat, current-month strip, "Leaving end of {month}" and "Just arrived" shelves, segmented progress meter, and latest donations
  • Sectioned category pages — Leaving this month / Available now / Out of season / Already donated
  • Unified global search dropdown with grouped category results, keyboard navigation, and recent-search history
  • Stats tab with per-category cards and a 12-column "Yearly rhythm" availability chart
  • Settings page — About + Danger zone (reset active town donations, reset everything)
  • CSV export of your donation records
  • Fully persistent — data saved to localStorage, no account required

Tech Stack

  • Vite + React 19 + TypeScript
  • Tailwind CSS v4
  • Zustand v5 (state + localStorage persistence, schema v3)
  • React Router v6 (URL-based navigation)
  • Vitest (unit tests)
  • Vercel (hosting + analytics)

Setup

npm install
npm run dev       # http://localhost:5173
npm run build     # Production build → dist/
npm run test      # Run unit tests
npm run lint      # Lint with ESLint

Data

Museum data lives in public/data/<game>/:

  • public/data/acgcn/ — GameCube: 40 fish, 40 bugs, 25 fossils, 13 paintings
  • public/data/acww/ — Wild World: 56 fish, 56 bugs, 52 fossils
  • public/data/accf/ — City Folk: 40 fish, 40 bugs, 52 fossils
  • public/data/acnl/ — New Leaf: fish, bugs, fossils
  • public/data/acnh/ — New Horizons: 81 fish, 80 bugs, 86 fossils, 43 art, 40 sea creatures (NH/SH month availability)

Sea creatures are fully supported for New Horizons and New Leaf — a dedicated Sea entry appears in the sidebar nav for those games (shipped in v0.8.2).


Version

Current release: v0.9.4-beta (2026-05-07) — silhouette rendering for un-donated items, ACWW icon gap-fill (100% coverage), 768px hand-drawn icon pipeline, fourth hand-drawn icon (coelacanth). Previous betas: v0.9.3-beta (JSON save-file round-trip + onboarding fixes), v0.9.2-beta (cross-game icon routing + first hand-drawn icons), v0.9.1-beta (ACGCN item icons), v0.9.0-beta (full UI revamp). Last stable on main: v0.8.2-alpha. See CHANGELOG.md for history and docs/roadmap-to-v1.md for the path to v1.0.

Significant design decisions are logged in docs/decisions.md.

About

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors