Files
YuGiOh-Database-Frontend/README.md
T
2026-05-16 00:51:45 +02:00

51 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# YuGiOh Collection Manager — Frontend
React frontend for browsing and managing a personal YuGiOh card collection.
## Tech Stack
- **React 19** + Vite
- **react-virtuoso** — virtualized card list (handles 13k+ cards)
- **react-router-dom** — client-side routing
## Pages
| Route | Description |
|---|---|
| `/` | Card list with search, filters, owned count tracking |
| `/sets` | Browse sets, view cards per set with owned counts |
## Features
- Search by name with punctuation normalization and typo tolerance
- Filter by type (Monster / Spell / Trap), owned-only toggle, sort by name or owned count
- Per-printing owned count with +/ controls
- Card detail panel with artwork switcher (multiple artworks per card)
- Collection export as JSON backup
- Mobile layout with swipeable bottom sheet for card/set detail
- Full DB import via YGOPRODeck API
## Development
```bash
npm install
npm run dev
```
Requires the API running at `http://localhost:3000` (proxied via `/api`).
## Deployment
Built as a Docker image served by Nginx. CI/CD via Woodpecker on push to `main`.
```bash
docker build -t yugioh-frontend .
docker run -d --name yugioh-frontend --network yugioh -p 8041:80 yugioh-frontend
```
## Environment
| Variable | Description |
|---|---|
| `VITE_API_URL` | API base URL for dev proxy (default: `http://localhost:3000`) |