# 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)