Diese Anleitung beschreibt, wie du das Backend (Express + SQLite) und das Frontend (Angular) lokal startest.
- Node.js 18+ (empfohlen LTS) und npm
- Betriebssystem: macOS, Linux oder Windows
Prüfe die Versionen:
- macOS/Linux/Windows PowerShell:
node -vundnpm -v
KnuffelBoard/
├─ backend/ # Express + SQLite API (Port 3000)
└─ frontend/ # Angular 18 App (Port 4200)
-
Abhängigkeiten installieren
- macOS/Linux/PowerShell:
cd backend npm install
- macOS/Linux/PowerShell:
-
Entwicklungsstart (mit automatischem Neustart via nodemon)
npm run dev
Alternativ ohne nodemon:
npm start
-
URL & Healthcheck
- API läuft unter: http://localhost:3000
- Healthcheck: http://localhost:3000/api/health →
{ ok: true }
-
Datenbank
- SQLite-Datei wird automatisch erstellt:
backend/knuffelboard.db
- SQLite-Datei wird automatisch erstellt:
Hinweis: Der Backend-Port ist per PORT-Umgebungsvariable änderbar, Standard ist 3000.
-
Abhängigkeiten installieren
cd frontend npm install -
Starten des Dev-Servers
npm start
- Öffnet automatisch den Browser: http://localhost:4200
-
Proxy zur API
- Der Angular-Dev-Server proxyt Aufrufe auf
/apian http://localhost:3000 (siehefrontend/proxy.conf.json). - Das Backend muss daher parallel laufen.
- Der Angular-Dev-Server proxyt Aufrufe auf
Terminal A (Backend):
cd backend
npm run devTerminal B (Frontend):
cd frontend
npm startDann im Browser: http://localhost:4200
-
Port 3000 schon belegt (Backend):
- Finde Prozess und beende ihn oder starte Backend auf einem anderen Port:
PORT=3100 npm start
- Passe für abweichenden Port die Datei
frontend/proxy.conf.jsonentsprechend an (z. B.http://localhost:3100) und starte das Frontend neu.
- Finde Prozess und beende ihn oder starte Backend auf einem anderen Port:
-
Port 4200 schon belegt (Frontend):
- Angular fragt nach einem alternativen Port oder verwende
npx ng serve --port 4300 --open --proxy-config proxy.conf.json
- Angular fragt nach einem alternativen Port oder verwende
-
API nicht erreichbar aus dem Frontend:
- Prüfe, ob das Backend läuft: http://localhost:3000/api/health
- Prüfe Proxy-Datei:
frontend/proxy.conf.json - Starte Frontend neu, nachdem Proxy geändert wurde.
-
Datenbank „resetten“:
- Backend stoppen, Datei
backend/knuffelboard.dbsichern/löschen, Backend neu starten (Tabellen werden automatisch neu angelegt).
- Backend stoppen, Datei
- Backend in Produktion ohne Auto-Reload:
npm start(im Ordnerbackend) - Frontend Build (Production):
npm run build(im Ordnerfrontend), Ausgabe unterfrontend/dist/knuffelboard
Ab sofort kann der produzierte Frontend‑Build direkt vom Backend unter / ausgeliefert werden.
Schritte:
- Frontend bauen
cd frontend npm install npm run build - Backend starten (liefert API unter
/apiund das Frontend unter/)cd ../backend npm install npm start - Im Browser öffnen:
http://localhost:3000
Hinweise:
- SPA‑Fallback ist aktiv: Nicht‑API‑Routen werden auf
index.htmlgemappt. - API‑Routen bleiben unter
/api/...erreichbar. - Der Pfad zum Build wird erwartet unter
frontend/dist/knuffelboard(Angular Standard in diesem Projekt).
Dieses Projekt wird unter der MIT-Lizenz veröffentlicht. Siehe die Datei LICENSE im Repository-Root.
- Angular © Google – MIT License
- Express – MIT License
- Tailwind CSS – MIT License
- DaisyUI – MIT License
- better-sqlite3 – MIT License
Weitere Abhängigkeiten sind jeweils MIT/ISC/Apache-2.0 kompatibel; Details siehe package.json und ggf. die jeweiligen Projekte.
Viel Spaß mit KnuffelBoard! 🎲