Skip to content

AlexOp1403/F1Manager

Repository files navigation

F1 Manager

Ein browserbasiertes F1-Manager-Spiel. Baue ein eigenes Rennteam auf, entwickle dein Auto, manage Fahrer und erlebe Rennen live – zuerst offline, später mit Multiplayer.

Features

Phase 1 – Implementiert (Offline)

  • Team-Erstellung – Name, Farben, Kurzcode, Team-Nationalität, Schwierigkeitsgrad (Underdog / Midfield / Frontrunner)
  • Deterministische Simulationsengine – Reifen, Kraftstoff, ERS, Überholmanöver, Zuverlässigkeit, Wetter, Safety Car/VSC, fastForwardRace()
  • Live-Rennen – Timing Tower, Telemetrie, Strategiepanel, Event-Feed, Speed Control, Pause/Resume, animierte Circuit Map
  • Web Worker SimulationLocalSimulationController entkoppelt UI und Simulationsloop
  • Kalenderbasiertes Gameplay – Woche-zu-Woche Fortschritt statt direkter Race-Sprünge
  • Vergangene Ergebnisse als eigene Seite – aus dem Kalender führt „Ergebnis öffnen“ auf eine separate Wochenend-Ansicht mit FP-/Qualifying-/Renn-Überblick und vollständiger Ergebnisliste
  • Rennwochenende-Flow – FP1/FP2/FP3, Qualifying (live Reveal), Race
  • FP-Navigation gefixt – Dashboard-Primärbutton öffnet FP1/FP2/FP3 jetzt interaktiv statt Sessions still im Hintergrund zu überspringen
  • Practice-Recaps – nach jedem FP Erkenntnisse, Setup-Wissen und empfohlene Anpassungen
  • FP-Session-Startlogik verbessert – FP startet pausiert; Session-Zeit läuft erst nach aktivem Start oder sobald ein Auto auf die Strecke geschickt wird
  • Pre-Race Strategy (2 Autos) – individueller Stint-/Boxenplan pro Auto, empfohlener Plan, manuelle Startreifenwahl
  • In-Race Strategie-UX verbessert – manuelle ERS-Befehle pro Auto überschreiben aggressive Team-Order-Overrides; „Aktuelle Strategie“ zeigt verbleibende geplante Stopps je Auto
  • Pro-Auto Kontrolle verfeinert – Auto 1/2 zeigt den zugehörigen Fahrernamen; Reifenwahl ist im Rennen toggelbar (erneuter Klick entfernt den Boxenbefehl)
  • Startreifen-Logik modernisiert – freie Startreifenwahl (nicht an Qualifying-Reifen gebunden), Warnungen bei Wetter-Mismatch
  • KI-Startreifen modernisiert – KI wählt Startreifen wetter-/strecken-/profilbasiert
  • Streckenintegration & Details – echte Streckenkarten/Assets, detaillierte Circuit-Ansicht mit Profil, Sektoren, DRS, Forecast und Team-Fit
  • Streckencharakteristik im Gameplay – Team-/Auto-Profil beeinflusst Performance je Strecke, inkl. Prognosen im Dashboard
  • F1-Punktesystem & Tabellen – realistische Punktevergabe inkl. Fahrer- und Konstrukteurswertung
  • Auto-Entwicklung – 8 Komponenten, Kosten, Gains, ETA, Warteschlange, auf Teamprofil wirkende Upgrades
  • Balancing für F&E – abgeschwächte Gains, stärkere Diminishing Returns und langsamere Progression
  • Team-Fit Updates – nach Fahrzeugupdates werden Team-Fit und Streckenprognosen neu berechnet
  • Fahrer-Management – eigene Fahrer + Fahrermarkt, Vertragsverhandlungen, Fahrer verpflichten/ersetzen
  • Erweiterter Fahrermarkt – mehr als 20 Fahrer inkl. teamloser Fahrer
  • Fahrerentwicklungssystem – wöchentliche Attributentwicklung mit Potenzial, Trainingsfokus, Staff-/Facility-Einfluss, FP1-Boost und Alters-Regression
  • Personal/Staff-System – Technischer Direktor, Aero Chief, Race Engineer, Chief Mechanic inkl. Verträge
  • Facilities/HQ-Ausbau – Fabrik, Windkanal, CFD, Simulator, Medical, Pit-Crew-Center inkl. Bauzeit & Upkeep
  • Sponsoren & Teamziele – Signing Bonus, Weekly Payout, Objective Bonus, Laufzeiten
  • Next-Year-Car-Projekt – parallele Investitionen in Aero/Power/Mechanical
  • Saisonwechsel mit Meta-Progression – echter Übergang zur nächsten Saison inkl. Jahreswechsel, Button-Flow und sauberem Round-Reset
  • Offseason-Car-Reset & Reglement-Effekt – kein permanentes 100/100; neue Saison startet mit Carry-over, Reglement-Impact und Balance-Neuberechnung
  • AI-Catchup im Saisonwechsel – hintere Teams erhalten Offseason-Aufholpotenzial, dominante Teams bekommen leichte „Dominance Tax“
  • Next-Year-Projekt wirkt auf neues Auto – Investitionen + Staff-Einfluss + Projektfortschritt fließen in Startperformance/-profil der Folgesaison ein
  • Season Recap & Awards – Saisonabschluss mit Team-/Fahrerstatistiken, Awards-Ansicht und Historie über mehrere Saisons
  • Max-Speed-UI-Fix im Rennen – bei Max bleiben Strategieaktionen (ERS/Box) bedienbar durch gebündelte Worker-Updates
  • Race-Speed um 15x erweitert – Rennansicht unterstützt jetzt 1x, 5x, 15x, 30x und Max (inkl. lokalisierter Beschriftung)
  • Erweiterte Finanzen – Cost-Cap-Tracking, Monatsreports, Ledger
  • Finanzdarstellung in Mio. – Budget/Kosten/Reports konsistent in M angezeigt
  • i18n – Deutsch + Englisch durchgehend verdrahtet und bereinigt
  • Save/Load – persistenter Spielstand via localStorage (Zustand persist)
  • Monorepo + Build – pnpm workspaces, Turbo, TypeScript, Vite

Gameplay-Tiefe & Retention

  • Safety Car Strategie-Entscheidung – SC/VSC-Alert-Banner im StrategyPanel, Reifenempfehlung mit Compound-Vorschlag, Box-Button mit 1-Klick-Einstieg, Tyre-Fresh/Too-Late-Hinweise
  • Team Radio / Fahrerfunk – automatische Funk-Nachrichten bei SC-Phase, Boxenstopp, Reifenwarnung, Überholmanöver, DNF, Fastest Lap und Lap-Countdown (5/3/1); Nachrichten im Event-Feed als cyan-farbige Radio-Einträge
  • Fahrer-Persönlichkeiten – 5 Archetypen (Aggressiv, Methodisch, Teamplayer, Egozentrisch, Veteran); Persönlichkeit beeinflusst Radio-Dialog-Flavor und ist im Fahrerprofil sichtbar
  • Steward-System – Post-Race-Untersuchungen nach Überholmanoövern und Boxenfehlern; 4 Verdikt-Typen (NFA, 5s-Strafe, Verwarnung, Drive-Through); Modal nach Rennende blockiert Abschluss bis Anerkennung
  • Championships-Battle Visualisierung – WM-Snapshot mit Momentum-Indikator (letzte 3 Rennen), Verbleibende-Rennen + Max-Punkte-Berechnung, bis zu 3 Rivalen-Gaps, „Titelkampf offen" / „Führt die WM"-Narrativ
  • Achievements-System – 12 persistente Erfolge (Podium, Sieg, Hattrick, Champion, Clean Season, Budget Baron…), Fortschrittsanzeige, Unlock-Toast-Benachrichtigung, eigene Achievements-Seite im Navigationsmenü
  • Detaillierte Auto-Entwicklung – Forschungsdialog mit Fokus-Wahl (Performance / Ausgewogen / Zuverlässigkeit) und Risiko-Stufe (Konservativ / Normal / Aggressiv); Live-Vorschau auf Performance-/Reliability-Gain und Kosten; Abbruch mit Teilrückerstattung; Kosten-/Ressourcen-Anzeige auf Komponentenkarten
  • F&E-Slot-Limit über Fabrik-Level – gleichzeitige Upgrades sind begrenzt; mehr Slot-Kapazität durch Fabrik-Ausbau (UI zeigt belegte/maximale Slots, Forschung bei vollem Slot-Limit gesperrt)
  • Reservefahrer-Auswahl verbessert – FP1/Reserve-Dropdown zeigt Fahrerqualität direkt (GES/POT/Alter) und fokussiert auf Team + Academy; Free Agents sind dort entfernt
  • Academy-Beförderung ins Stammteam – Academy-Fahrer können mit Vertragsangebot direkt auf ein Renncockpit befördert werden (Seat-Swap, Signing-Bonus, Budget-/Gehaltseffekt, freigesetzter Fahrer wird teamlos)
  • Saison-Historie – Saisonrückblick nur noch nach letztem Rennen im Dashboard sichtbar; vollständige Historie aller Saisons auf eigener „Historie"-Seite inkl. 6 Stat-Kacheln je Saison (Position, Punkte, Siege, Podien, Schnellste Runden, DNFs)
  • Historische Strecken – 39 Strecken im Pool (22 aktuelle + 17 historische: Hockenheimring, Istanbul, Nürburgring, Magny-Cours, Estoril, Adelaide, Sepang, Mugello, Portimão, Paul Ricard, Buddh, Kyalami, Buenos Aires, Jerez, Brands Hatch, Lusail, Yas Marina); Saisongenerator wählt jede Saison per Seed 22 aus dem Pool – jede Saison hat einen anderen Kalender
  • Teile-Management – 5 physische Fahrzeugteile (Power Unit, Getriebe, Frontflügel, Unterboden, Bremsen) verschleißen nach jedem Rennen; Verschleiß-Schwellen (60/40/20%) beeinflussen Zuverlässigkeit und Performance; DNF verursacht Zusatzverschleiß; Spieler kann Teile gegen Kosten tauschen; eigene Seite mit Verschleiß-Balken, Zustandsanzeige und Budget-Check
  • Interaktive Freie Trainings – FP1/FP2/FP3 als eigene Sessions: Spieler stellt Setup ein (Flügelstand, Federung, Bremsbias), wählt Stint-Typ (Quali-Sim / Renntempo / Setup-Arbeit) und Rundenzahl; Strecken-Idealsetup aus Streckencharakteristika; nach jedem Stint Feedback und Rundenzeit; Setup-Score beeinflusst Fahrerwertung und Rennperformance
  • Fahrerattribute in FP/Quali rebalanced – Pace-Einfluss reduziert (0→100 ≈ 3s statt 5s); zusätzlich wirken Konstanz, Druckresistenz und Regen-Performance direkt auf FP-/Quali-Rundenzeiten
  • Car-Performance in FP/Quali an Race-Skalierung angeglichen – Einfluss der Team-Autoleistung in FP/Qualifying auf ~5s Spreizung (0↔100) rebalanced; verhindert überzogene Quali-Abstände bei gleicher Race-Balance
  • Startreaktion & Fitness im Rennen verdrahtetstartReaction beeinflusst den Launch in den ersten Metern nach dem Start; fitnessLevel beeinflusst den späten Renn-Stint (Late-Race-Fade bei niedriger Fitness, leichter Endphasenbonus bei hoher Fitness)
  • Setup-/Alt-Reifen-UI klarer – Label Fahrerwertung wurde zu Setup-Vertrauen umbenannt; Alt-Satz-Auswahl wird als eindeutige Chips (Alt #n (xx%)) ohne Zeilenumbruchs-Artefakte angezeigt
  • Race-Spread rebalanced – Car-Performance-Skalierung in der Tick-Simulation reduziert; der Pace-Spread zwischen sehr schwachen und sehr starken Autos ist pro Runde deutlich kleiner (Target-Bereich ~5s statt extremer Ausreißer)
  • High-Speed-Race-UX stabilisiert – bei hohen Geschwindigkeiten (15x/30x) werden Worker-Updates gebündelt statt jeden Tick zu rendern; reduziert UI-Lag und harte Rekalibrierungs-Sprünge beim Zurückschalten
  • Kommentator-Stil im Event-Feed – Rennereignisse (Überholmanöver, Boxenstopps, Fastest Lap, DNF, SC/VSC, Zieleinlauf) werden in dynamischer, kommentatorähnlicher Sprache dargestellt
  • FP-Idealsetup-Heuristik rebalanced – Schwellen für Flügel/Federung wurden verbreitert (Hoch/Hart nur bei wirklich extremen Streckenwerten), sodass Mittel deutlich häufiger als realistischer Zielbereich auftaucht
  • FP-Topbar-Aktion vereinheitlicht – primäre Abschlussaktion heißt oben rechts konsistent Speichern & Weiter; der separate Abschluss-Button im unteren Session-Over-Banner entfällt
  • Interaktives Qualifying (Q1/Q2/Q3) – echtes Eliminationsformat: Spieler entscheidet wann Fahrer eine schnelle Runde drehen, wählt Compound; Streckenentwicklung verbessert Zeiten über Session; „In Gefahr"-Warnung wenn in Bottom-5; Leaderboard mit allen 20 Fahrern; eliminierte Fahrer werden grau
  • Qualifying-Track-Evolution rebalanced – Streckenentwicklung ist jetzt phasenbasiert gedeckelt: Q1 baut nur begrenzt Grip auf, Q2 erhöht weiter, Peak wird erst in Q3 erreicht (kein Full-Evolution mehr schon in Q1)
  • Live-Session-Entwicklung in FP & Qualifying – dynamische Streckenentwicklung, Live-Temperatur-/Wetter-Shift und mehrere KI-Runs pro Fahrer je Session/Phase; Rundenzeiten reagieren live auf Evolution, Temperatur und Nässe
  • Session-Timing rebalanced – FP/Qualifying laufen in realistischerer Zeitskala (1x nicht mehr überbeschleunigt), Qualifying startet pausiert
  • Live-Stintzeiten im FP – während laufender Stints werden Rundenfortschritt, letzte Runde und aktuelle Bestzeit live angezeigt (statt erst nach Stint-Ende)
  • Qualifying-Grid-Konsistenz – finale Startaufstellung folgt sauber der Q3/Q2/Q1-Eliminationsreihenfolge; Dashboard-Quali-Entry nutzt die dedizierte Qualifying-Session-Route
  • Pre-Race Autoteile korrigiert – „Autoteile“-Panel nutzt jetzt echte raceParts-Verschleißwerte (pro Auto) statt abgeleiteter/fiktiver Zuverlässigkeitswerte
  • Wetterintelligente Reifenlogik im Rennen – KI passt Boxenreifen bei Wetter-Mismatch automatisch an (kein Slick bei Regen / kein Wet auf trockener Strecke); Auto-Pit-Assist nutzt wetterabhängige Compound-Empfehlung
  • Live-Wetterwarnungen im Rennen – deutlicher Hinweis bei Wetterumschwung sowie Warnbanner bei falscher Reifenwahl der Spielerautos inkl. aktueller Reifenempfehlung
  • Stabile Car-Slots im Rennen – Auto 1/Auto 2 bleiben im Strategiepanel fest dem jeweiligen Fahrer-Sitz zugeordnet und wechseln nicht mehr mit der Live-Position
  • Korrekte Fahrtrichtung auf Streckenkarten – Circuit-Map berücksichtigt reale Streckenrichtung (Uhrzeigersinn/Gegenuhrzeigersinn) und invertiert SVG-Progression automatisch, wenn die Pfadrichtung nicht zur Strecke passt; Richtungen für aktuelle + historische Strecken anhand F1DB-Circuitdaten gepflegt
  • Start/Ziel-Referenz auf Circuit-Map – Fahrzeugpositionen sind auf eine Start/Ziel-Progression normalisiert; auch bei invertierter Streckenrichtung startet t=0 konsistent auf der Startlinie statt am SVG-Endpunkt
  • Race läuft über Seitenwechsel weiter – beim Wechsel von Race zu HQ/anderen Seiten wird die laufende Simulation nicht mehr neu gestartet; Re-Entry nutzt denselben aktiven Race-Worker
  • Race-Start robuster gemacht – Guard gegen Hängenbleiben beim Simulationsstart (Timeout auf ersten Worker-Tick), klare Fehlermeldung + Retry-Button statt dauerhaftem „wird gestartet…“
  • Dynamischer Fahrernamen-/Nationalitäten-Pool – Fahrer werden pro Saison aus separaten Vor-/Nachnamen- und Nationalitäten-Pools kombiniert (keine starren Nationalitäten-Paare mehr)
  • F&E-Rebalance: komponentenspezifisch + Season-Cap – Upgrades erhöhen primär die betroffenen Fahrzeugbereiche (Power/High-Speed/Aero/Mechanical) statt pauschal den Gesamtwert; carPerformance wird aus dem Profil abgeleitet. Zusätzlich limitieren harte In-Season-Caps den maximalen Fortschritt pro Saison (Performance, Reliability und Profil-Achsen)
  • HQ-Tab & Facility-Effekte – Nav-Tab „Personal" umbenannt zu „HQ"; jede Facility-Karte zeigt aktuellen Level-Effekt (grün) und Vorschau auf nächsten Level (grau): Fabrik (+Dev-Zuverlässigkeit), Windkanal (+Dev-Performance), Simulator (+FP-Wissensgain), Medical (+Fahrerregeneration), Pit-Crew (−Boxenstoppzeit); Simulator-Level wired in FP-Stintwissen-Berechnung (+10% pro Level)
  • Qualifying-Live-Runs statt Sofortzeit – „Schnelle Runde“ startet jetzt einen echten Run mit Outlap/Flying-Lap/Inlap; Zeit wird erst auf der fliegenden Runde gesetzt, danach Inlap/Run-Ende
  • Q2/Q3 mit frischen Rundenzeiten – beim Phasenwechsel werden Zeiten der weitergekommenen Fahrer zurückgesetzt; Q2/Q3-Ranking basiert damit nur auf in der jeweiligen Phase gefahrenen Runden
  • Präzisere Lap-Crossing-Zeiten im Rennen – Rundenzeiten werden beim Überfahren der Linie innerhalb des Ticks interpoliert statt auf ganze Sekunden quantisiert; Fastest-Lap-Events zeigen damit realistische Millisekundenwerte
  • FP-Reifenwahl um Inter/Wet erweitert – in freien Trainings sind jetzt neben Slicks auch Intermediate und Wet direkt auswählbar (inkl. Neu/Alt-Logik und Satzverfügbarkeit)
  • FP-Zeitentabelle erweitert – Ergebnisliste zeigt zusätzlich den Reifen der Bestzeit und die bisher gefahrenen Runden pro Fahrer
  • Grid-Startabstand erhöht – Fahrzeuge starten mit physischem Distanzversatz statt alle auf exakt 0 m, wodurch Überlagerungen am Start reduziert werden
  • ERS-Quali-Modus aus Race-Strategie entfernt – im Rennen sind nur Laden, Ausgewogen, Angriff auswählbar
  • Kommentatorstil im Event-Feed sichtbarer – Race-Events werden explizit mit Kommentator-Voice dargestellt (Overtakes, Fastest Lap, Box, DNF)
  • Mehr Platz in FP/Quali/Race – Seiten-Navigation wird auf allen /race/* Views ausgeblendet
  • Reglement-Kürzung als echte Saisoneffekt-Ressource – bei angenommener CFD/Windkanal-Kürzung werden cfdCapacityPerWeek und windTunnelHoursPerWeek für die gesamte Folgesaison real um 10% reduziert (inkl. verfügbarer Wochenressourcen)
  • HQ-Kosten- und i18n-Verbesserung – Facility-Karten zeigen vor dem Upgrade jetzt Kosten + Bauzeit; harte EN-Texte wurden lokalisiert (inkl. Reifenallokations-Buttons und Effekttexte)
  • Reifen-Pace-Fenster pro Compound – Reifen verlieren zu Stintbeginn keine degradationsbedingte Pace; der Pace-Abfall startet erst nach einem Compound-spezifischen Stabilitätsfenster (Soft früher, Hard später) und wird gegen Stintende deutlich steiler
  • Echte Reifenallokation pro Rennwochenende – Reifenallokation speist jetzt ein persistentes Satz-Inventar je Race-Weekend; FP-Stints, Quali-Runs und Race-Reifenwahl verbrauchen daraus echte Sätze (inkl. Verfügbarkeitsanzeige/Disable bei 0)
  • Gebrauchte Reifensätze wiederverwendbar – in FP/Quali eingesetzte Sätze wandern als „alt“ zurück in den Wochenend-Pool und können später erneut eingesetzt werden; UI zeigt verfügbare Alt-Sätze pro Compound
  • Explizite Satzwahl (Neu/Alt) – in FP, Qualifying und im In-Race-Strategiepanel kann je Auto festgelegt werden, ob nur neue oder gezielt alte Reifensätze verwendet werden
  • Alt-Auswahl nur bei Verfügbarkeit – die Option Alt ist je Auto deaktiviert, wenn kein gebrauchter Satz verfügbar ist; Aktionen fallen in dem Fall automatisch auf Neu zurück
  • Alt-Reifen als Einzelsätze auswählbar – bei Alt können in FP/Qualifying einzelne gebrauchte Sätze pro Compound anhand ihrer konkreten Abnutzung (#1 · xx%, #2 · yy%) ausgewählt werden
  • Alt-Modus zeigt nur verfügbare Compounds – bei aktivem Alt werden Compounds ohne gebrauchte Sätze ausgeblendet
  • Alt-Reifen-Zustand sichtbar – gebrauchte Sätze zeigen jetzt zusätzlich einen ungefähren Verschleißwert in Prozent (~xx%) direkt bei der Compound-Auswahl
  • Live-Reifenabbau nutzt Streckencharakteristiklow/medium/high/extreme aus den Circuit-Daten wirkt jetzt direkt im Tick-basierten Rennverschleiß (nicht mehr nur in Pre-Race-Prognosen/KI-Heuristiken)
  • Echte Reifensätze statt Durchschnittsmodell – Wochenend-Reifen werden als einzelne Sätze mit eigener Abnutzung geführt; Alt-Satz-Prozente werden als konkrete Liste angezeigt und beim erneuten Einsatz fortgeschrieben
  • Reifensatz-Sperren bis Session-Ziel – vor Q3 bleibt 1x Soft reserviert; bis Rennstart bleiben 1x Medium + 1x Hard reserviert (zentral im Store erzwungen)
  • Fahrzeuggetrennte Reifenallokation – Reifensätze werden pro Auto (car1/car2) geführt; Verbrauch, Alt-Sätze und Verfügbarkeit sind je Fahrzeug getrennt
  • Race-Pit-Abbuchung nach echtem Stopp – reservierte Reifensätze werden erst nach abgeschlossenem Boxenstopp final abgebucht und die UI-Auswahl pro Auto zurückgesetzt
  • Exakter Alt-Satz beim Boxenstopp – wenn ein konkreter gebrauchter Satz gewählt wurde, wird genau dieser Satz (nicht ein anderer) nach dem Stopp final verbraucht
  • FP-Reifensätze werden selektiv am Session-Ende entfernt – in FP genutzte/angebrochene Sätze bleiben während des laufenden FP nutzbar; beim Beenden von FP werden pro Fahrzeug die 2 am stärksten abgenutzten Sätze aus der Wochenend-Allokation entfernt
  • Q3-Reserve bleibt bei Nichtnutzung erhalten – ein für Q3 reservierter Soft-Satz wird nur bei tatsächlichem Run verbraucht; ungenutzte Q3-Sätze bleiben fürs Rennen verfügbar
  • Erweitertes FP-Setup – zusätzliche Setup-Achsen Differential und Ride Height mit idealer Streckenableitung, Score-Einfluss und Feedback
  • Reifenplatzer-Risiko bei hohem Verschleiß – ab ~80% steigt die DNF-Wahrscheinlichkeit tick-basiert mit Verschleiß, Compound und Stintlänge
  • Prisma Schema + DB – vollständige Datenbank-Anbindung

Phase 2 – Cloud

  • Cloud-Saves, geräteübergreifendes Spielen, globale Bestenlisten

Phase 3 – Async Multiplayer

  • Bis zu 10 Spieler pro Saison, server-seitige Simulation

Phase 4 – Live Multiplayer

  • Alle Teams schauen gleichzeitig dasselbe Rennen, Echtzeit-Broadcast

Tech Stack

Bereich Technologie
Frontend Vite + React 19 + TypeScript
Routing React Router v7
Styling Tailwind CSS + shadcn/ui
i18n i18next (Deutsch + Englisch)
State Zustand
Server-Daten TanStack Query
Animationen Motion (Framer Motion v12)
Race Map Canvas 2D API
Backend Node.js + Fastify + TypeScript
Datenbank PostgreSQL + Prisma
Cache / Realtime Redis + Socket.io
Mobile (Phase 3+) Capacitor 7

Schnellstart

# Abhängigkeiten installieren
pnpm install

# Entwicklungsserver starten (Web + Server parallel)
pnpm dev

# Tests laufen lassen
pnpm test

# Produktions-Build
pnpm build

Deployment (Vercel)

  • Monorepo-Deployment ist auf die Web-App vorkonfiguriert (vercel.json):
  • Build: pnpm --filter @f1manager/web build
  • Output: apps/web/dist
  • SPA-Rewrite aktiv (/(.*) -> /index.html) für clientseitige Routes wie /season/results/:id
  • Hinweis: Der Web-Produktionsbuild nutzt aktuell vite build (ohne blockierendes tsc -b). TypeScript-Prüfung läuft separat über pnpm --filter @f1manager/web typecheck.

Projektstruktur

f1manager/
├── apps/
│   ├── web/          # Vite + React SPA
│   └── server/       # Fastify API + Race-Orchestrator
├── packages/
│   ├── engine/       # Simulationsengine (pure TypeScript)
│   ├── types/        # Geteilte TypeScript-Interfaces
│   └── ui/           # Geteilte UI-Komponenten
└── docs/
    └── ARCHITECTURE.md

Vollständige Architektur-Dokumentation: docs/ARCHITECTURE.md

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages