Denis Urs Rudolph 81edc206e0 Fix: Verschleißteil-Formular Datumsvalidierung und Schriftfarbe
- installDate Schema akzeptiert jetzt YYYY-MM-DD Format (HTML date input)
- maintenanceHistorySchema date akzeptiert jetzt YYYY-MM-DD Format
- Transform konvertiert Datumsstrings automatisch zu Date-Objekten
- API-Routes verwenden validierte Date-Objekte direkt
- Alle Formularfelder haben jetzt schwarze Schriftfarbe (text-black)
- Optional-Felder werden getrimmt (brand, model, notes)
2025-12-05 22:30:45 +01:00

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:
bun install
  1. Datenbank initialisieren:
bunx prisma generate
bunx prisma db push

Entwicklung

Entwicklungsserver starten:

bun run dev

Die Anwendung ist dann unter http://localhost:3000 erreichbar.

Tests

Tests ausführen:

bun run test

Tests mit UI:

bun run test:ui

Datenbank

Prisma Studio öffnen:

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)
Description
No description provided
Readme 147 KiB
Languages
TypeScript 99.5%
CSS 0.3%
JavaScript 0.2%