initial
This commit is contained in:
50
README.md
Normal file
50
README.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# marathon.todo
|
||||
|
||||
A frontend-only React + TypeScript app for planning what to loot (or do) in raid in Bungie's Marathon.
|
||||
|
||||
## Features
|
||||
- Search for Marathon items by name.
|
||||
- Show up to 5 relevant results with item icons.
|
||||
- Search also includes faction upgrades with salvage requirements.
|
||||
- Add an item to a to-do list by clicking a search result.
|
||||
- Clicking an upgrade search result adds all mapped salvage materials to the to-do list.
|
||||
- Set quantity per to-do entry.
|
||||
- Mark entries completed.
|
||||
- Delete entries.
|
||||
- Persist to-do entries in browser `localStorage`.
|
||||
|
||||
## Data Source
|
||||
- Frontend fetches a local proxy endpoint: `/api/catalog`
|
||||
- Proxy source data:
|
||||
- Items: `https://items.marathondb.gg/api/items`
|
||||
- Faction upgrades: `https://marathondb.gg/js/data/faction-upgrades.js`
|
||||
- Proxy stores processed catalog in SQLite (`backend/data/catalog.db`) and refreshes every 24h.
|
||||
|
||||
## Project Structure
|
||||
- `frontend/`: Vite + React app (`frontend/src`, `frontend/index.html`)
|
||||
- `backend/`: local proxy API (`backend/server.js`) and SQLite data (`backend/data/`)
|
||||
- `backend/references/`: downloaded reference source files used during development
|
||||
|
||||
## Tech Stack
|
||||
- React
|
||||
- TypeScript
|
||||
- Vite
|
||||
|
||||
## Run Locally
|
||||
1. Install dependencies:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
2. Start backend + frontend together:
|
||||
```bash
|
||||
npm run dev:all
|
||||
```
|
||||
3. Or run separately if preferred:
|
||||
```bash
|
||||
npm run dev:backend
|
||||
npm run dev:frontend
|
||||
```
|
||||
4. Build production assets:
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
Reference in New Issue
Block a user