Files
WearPartTracker/README.md

103 lines
2.1 KiB
Markdown
Raw Normal View History

# Fahrrad Verschleißteile Tracker
Eine Single-Page-Application zur Erfassung und Verwaltung von Verschleißteilen an verschiedenen Fahrrädern.
## Features
- Verwaltung mehrerer Fahrräder
- Erfassung von Verschleißteilen (Kette, Bremsbeläge, Reifen, etc.)
- Wartungshistorie für jedes Verschleißteil
- Warnsystem bei bevorstehender Wartung
- Statistiken (Gesamtkosten, durchschnittliche Lebensdauer)
- Keine Authentifizierung erforderlich
## Technologie-Stack
- **Framework**: Next.js 14+ (App Router)
- **Runtime**: Bun
- **Datenbank**: SQLite (via Prisma)
- **Styling**: Tailwind CSS
- **Validierung**: Zod
- **Testing**: Vitest
## Installation
1. Dependencies installieren:
```bash
bun install
```
2. Datenbank initialisieren:
```bash
bunx prisma generate
bunx prisma db push
```
## Entwicklung
Entwicklungsserver starten:
```bash
bun run dev
```
Die Anwendung ist dann unter [http://localhost:3000](http://localhost:3000) erreichbar.
## Tests
Tests ausführen:
```bash
bun run test
```
Tests mit UI:
```bash
bun run test:ui
```
## Datenbank
Prisma Studio öffnen:
```bash
bun run db:studio
```
## Projektstruktur
```
/
├── app/ # Next.js App Router
│ ├── api/ # API Routes
│ ├── components/ # React-Komponenten
│ └── bikes/ # Fahrrad-Detailseiten
├── prisma/
│ └── schema.prisma # Datenbankschema
├── lib/
│ ├── prisma.ts # Prisma Client
│ ├── utils.ts # Hilfsfunktionen
│ └── validations.ts # Zod-Schemas
├── types/ # TypeScript Typen
└── __tests__/ # Test-Dateien
```
## Verschleißteil-Typen
Das Tool unterstützt folgende Verschleißteil-Typen:
- CHAIN (Kette)
- BRAKE_PADS (Bremsbeläge)
- TIRE (Reifen)
- CASSETTE (Ritzel)
- CHAINRING (Kettenblatt)
- DERAILLEUR (Schaltwerk)
- BRAKE_CABLE (Bremszug)
- SHIFT_CABLE (Schaltzug)
- BRAKE_ROTOR (Bremsscheibe)
- PEDAL (Pedale)
- CRANKSET (Kurbelgarnitur)
- BOTTOM_BRACKET (Tretlager)
- HEADSET (Steuersatz)
- WHEEL (Laufrad)
- HUB (Nabe)
- SPOKE (Speiche)
- OTHER (Sonstiges)