Diese Anleitung zeigt dir Schritt für Schritt, wie du das LearnING10 MVP auf deinem Rechner startest: Backend (FastAPI) und Frontend (Next.js).
Lege zuerst den Code in einen eigenen Projektordner:
learning10-monorepo.package.json, pnpm-workspace.yaml, README.mdapps/web/... (Next.js Frontend)apps/api/... (FastAPI Backend)cd learning10-monorepo
pnpm-workspace.yaml korrigierenDamit pnpm korrekt arbeitet, muss die Workspace-Datei gültiges YAML sein und nur existierende Pfade enthalten.
Deine Datei sollte so aussehen:
packages:
- "apps/*"
//-Kommentare – in YAML sind Kommentare nur mit # erlaubt.
"packages/*" ist entfernt, weil es aktuell keinen
packages-Ordner im MVP gibt.
pnpm-workspace.yaml
im Projekt-Root (also direkt in learning10-monorepo).
Im Terminal im Projekt-Root:
node -v
pnpm -v
node nicht gefunden wird → Node.js (18+) installieren
von https://nodejs.org.
pnpm nicht gefunden wird:
npm install -g pnpm
Prüfe, ob Python verfügbar ist:
python --version
# oder manchmal:
python3 --version
Du brauchst Python 3.9 oder höher.
Im Projekt-Root:
pnpm setup
Das führt zwei Dinge aus:
pnpm install für alle Node/Next.js-Abhängigkeitenpip install -r apps/api/requirements.txt für FastAPIFalls es Fehler gibt (z. B. bei Python), kannst du die Befehle auch manuell ausführen:
# Node-Dependencies
pnpm install
# Python-Dependencies
cd apps/api
pip install --upgrade pip
pip install -r requirements.txt
cd ../../
Standardports des Projekts:
http://localhost:3000http://localhost:8000Wenn schon andere Prozesse darauf laufen, kannst du sie beenden.
# Port 3000 räumen
lsof -ti:3000 | xargs kill -9
# Port 8000 räumen
lsof -ti:8000 | xargs kill -9
# Prozess auf Port 3000 finden
netstat -ano | findstr :3000
# PID ausgeben, dann:
taskkill /PID /F
# dasselbe für Port 8000
netstat -ano | findstr :8000
taskkill /PID /F
Variante A – über das Root-Script:
pnpm dev:api
Das entspricht intern in apps/api ungefähr:
uvicorn main:app --reload --port 8000
Im Terminal solltest du etwas sehen wie:
INFO: Uvicorn running on http://127.0.0.1:8000
API testen:
Typischer Fehler: ModuleNotFoundError: No module named 'fastapi'
Lösung:
cd apps/api
pip install --upgrade pip
pip install -r requirements.txt
uvicorn main:app --reload --port 8000
Öffne ein zweites Terminal im Projekt-Root:
pnpm dev:web
Dann sollte im Terminal stehen, dass Next.js auf Port 3000 läuft, z. B.:
ready - started server on 0.0.0.0:3000
Frontend testen:
http://localhost:8000 als API – das passt zu deinem lokalen Backend.
Wenn beide Einzelschritte funktionieren, kannst du alles in einem Rutsch starten:
pnpm dev
Dann laufen gleichzeitig:
pnpm dev:web (Next.js)pnpm dev:api (FastAPI)pnpm: command not foundLösung:
npm install -g pnpm
pnpm setup
http://localhost:3000 läuft.apps/api/main.py ist CORS bereits so gesetzt:
allow_origins=["http://localhost:3000"]
Wenn du einen anderen Host/Port nutzt, musst du den hier anpassen.
.env.local anlegen (im Ordner apps/web):
NEXT_PUBLIC_API_URL=http://deine-api-url:port
Danach pnpm dev:web neu starten.
EADDRINUSE: address already in use :::3000 oder :::8000Der Port ist schon belegt. Siehe oben Schritt 5 (Ports freimachen), dann den jeweiligen Server neu starten.
@/lib/... nichtpnpm dev:web startest.apps/web/tsconfig.json sollten diese Pfade existieren:
"paths": {
"@/*": ["./src/*"]
}
pnpm install im Root ausführen.Wenn beide Server laufen:
/onboarding/parent.Wenn du irgendwo hängenbleibst oder eine konkrete Fehlermeldung siehst, kannst du mir einfach den Text dieser Meldung schicken – dann kann ich dir den nächsten Schritt sehr gezielt erklären.
brigkSchloßlände 27,85049 IngolstadtPostadresse: Schloßlände 26
Trotz sorgfältiger Kontrolle übernehmen wir keine Haftung für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte. Änderungen vorbehalten.
brigkSchloßlände 27,85049 IngolstadtPostadresse: Schloßlände 26
Trotz sorgfältiger Kontrolle übernehmen wir keine Haftung für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte. Änderungen vorbehalten.