managarten/apps/inventar/CLAUDE.md
Till JS 86d1da3587 feat(inventar): add configurable inventory management app
SvelteKit web app with schema-less collections, 8 field types,
8 templates (electronics, books, furniture, etc.), 3 views (list/grid/table),
hierarchical locations, categories, full-text search, and localStorage persistence.
Includes ManaScore audit (28/100 Alpha), Dockerfile, SSO prep, and i18n (DE/EN).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 11:21:36 +01:00

59 lines
2.1 KiB
Markdown

# Inventar
Configurable inventory management app - track anything with custom schemas.
**Web App Port:** 5190
## Project Overview
Inventar is a schema-less inventory management system built with SvelteKit. Users can create collections with custom field definitions, organize items by location and category, and view them in list/grid/table views.
### Tech Stack
| Layer | Technology |
|-------|------------|
| Frontend | SvelteKit 2, Svelte 5 (runes), Tailwind CSS 4 |
| State | Svelte 5 runes ($state, $derived) with localStorage persistence |
| Icons | @manacore/shared-icons (Phosphor) |
| PWA | @vite-pwa/sveltekit + Workbox |
| i18n | svelte-i18n (de, en) |
## Key Concepts
- **Collections**: Groups of items with a shared schema (custom field definitions)
- **Templates**: Predefined schemas for common item types (electronics, books, etc.)
- **Items**: Individual inventory entries with custom field values
- **Locations**: Hierarchical places (House > Room > Cabinet > Shelf)
- **Categories**: Flexible categorization with hierarchy
- **Views**: List, Grid, Table views with saved filters
## Development
```bash
# From monorepo root
pnpm dev:inventar:web # Start web app on port 5190
```
## Project Structure
```
apps/inventar/
├── apps/
│ └── web/ # SvelteKit web client
│ ├── src/
│ │ ├── routes/
│ │ │ ├── (auth)/ # Login flow
│ │ │ └── (app)/ # Authenticated app
│ │ │ ├── collections/
│ │ │ ├── items/
│ │ │ ├── locations/
│ │ │ └── categories/
│ │ └── lib/
│ │ ├── stores/ # Svelte 5 rune stores
│ │ ├── components/ # UI components
│ │ ├── i18n/ # Translations
│ │ └── data/ # Templates, defaults
│ └── static/
└── packages/
└── shared/ # Shared types & constants
```