Initial commit: Fast Inventory app

Monorepo with Express + SQLite backend and Vite + React frontend.
Features: item CRUD, file uploads with thumbnails, soft delete,
item duplication with file copying, autocomplete inputs, stats dashboard.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-10 07:06:52 +01:00
commit 88e151f792
35 changed files with 8494 additions and 0 deletions

59
README.md Normal file
View File

@@ -0,0 +1,59 @@
# Fast Inventory
A quick-entry home inventory tool. Add items in seconds, track values, manage status, attach photos and receipts.
## Quick Start
```bash
npm install
npm run dev
```
Open http://localhost:5173
## Usage
**Add an item:** Type a name in the top bar and press Enter. That's it — 1 second.
**Enriched entry:** Name → Tab → Category (autocomplete) → Tab → Location (autocomplete) → Enter. About 3 seconds.
**Edit details:** Click any item row to open the detail modal. Add purchase price, date, notes, photos, receipts, or change status.
**Statuses:** Active, Lent Out, Sold, Lost, Trashed. Defaults to Active.
**Stats:** Click the Stats tab for value breakdowns, item counts, and inflow/outflow charts.
## Production
```bash
npm run build
npm start
```
Runs on http://localhost:3001 (single server, no separate frontend process).
Set a custom port with `PORT=8080 npm start`.
## Tech Stack
- **Backend:** Express + TypeScript + SQLite (better-sqlite3)
- **Frontend:** React + Vite + Tailwind CSS + Recharts
- **Storage:** SQLite database at `server/data/inventory.db`, uploads at `server/uploads/`
## Data
All data is local. The SQLite database and uploaded files live in the `server/` directory:
- `server/data/inventory.db` — database
- `server/uploads/` — photos and receipts
Back up these two paths to preserve your inventory.
## Scripts
| Command | Description |
|---|---|
| `npm run dev` | Start dev servers (frontend + backend) |
| `npm run build` | Build for production |
| `npm start` | Run production server |
| `npm run typecheck` | Type-check both packages |