generated from Dicken/dickendock
Erstes lauffähiges Grundgerüst: Monorepo, Fastify-API, React-Startseite, Docker
This commit is contained in:
84
README.md
84
README.md
@@ -1,12 +1,82 @@
|
||||
# LaunchPad
|
||||
|
||||
LaunchPad is a modern Homelab launcher.
|
||||
Ein moderner, minimalistischer Homelab-Launcher – inspiriert von Raycast, Spotlight, Arc
|
||||
und Linear. Tippe wenige Buchstaben, finde sofort den gewünschten Dienst, drücke Enter.
|
||||
|
||||
## Planned stack
|
||||
Kein überladenes Dashboard. Keine Kacheln. Im Mittelpunkt steht eine extrem schnelle Suche.
|
||||
|
||||
- React + Vite + TypeScript
|
||||
- Fastify
|
||||
- SQLite + Drizzle
|
||||
- Docker Compose
|
||||
## Quickstart (Docker)
|
||||
|
||||
Sprint 1 contains the initial project scaffold.
|
||||
```bash
|
||||
git clone <repo-url> LaunchPad
|
||||
cd LaunchPad
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
- Frontend: http://localhost:8080
|
||||
- Backend / Health-API: http://localhost:3001/api/health
|
||||
|
||||
## Quickstart (lokale Entwicklung)
|
||||
|
||||
Voraussetzungen: Node.js ≥ 20, pnpm ≥ 9.
|
||||
|
||||
```bash
|
||||
pnpm install
|
||||
pnpm dev:backend # startet Fastify auf :3001
|
||||
pnpm dev:frontend # startet Vite auf :5173 (proxyt /api zum Backend)
|
||||
```
|
||||
|
||||
## Projektstruktur
|
||||
|
||||
```
|
||||
LaunchPad
|
||||
│
|
||||
├── apps
|
||||
│ ├── frontend React + Vite + TypeScript + TailwindCSS
|
||||
│ └── backend Fastify + TypeScript + Drizzle ORM + SQLite
|
||||
│
|
||||
├── packages
|
||||
│ ├── shared gemeinsame Typen (Device, Service) + Such-Ranking-Logik
|
||||
│ └── ui gemeinsame UI-Komponenten (SearchInput, StatusBadge)
|
||||
│
|
||||
├── docker zusätzliche Docker-Hilfsdateien
|
||||
├── docs Projektdokumentation
|
||||
├── pnpm-workspace.yaml
|
||||
├── docker-compose.yml
|
||||
└── tsconfig.base.json
|
||||
```
|
||||
|
||||
## Stand dieses Commits
|
||||
|
||||
Dieser erste Commit liefert ein lauffähiges Grundgerüst:
|
||||
|
||||
- ✅ pnpm-Monorepo mit `apps/*` und `packages/*`
|
||||
- ✅ Fastify-Backend mit `/api/health`-Endpunkt
|
||||
- ✅ SQLite-Datenbank (better-sqlite3) inkl. Schema für `devices`, `services`, `categories`
|
||||
(Drizzle ORM), automatisch angelegt beim Start
|
||||
- ✅ React-Startseite mit Suchfeld, Dark-/Light-Mode und Live-Statusanzeige des Backends
|
||||
- ✅ Tastaturkürzel `/` und `Strg+K` zum Fokussieren der Suche
|
||||
- ✅ Docker-Compose-Setup: `docker compose up -d --build` startet Frontend + Backend
|
||||
- ✅ Persistentes Docker-Volume für die SQLite-Datenbank
|
||||
|
||||
Noch **nicht** enthalten (folgt in den nächsten Commits):
|
||||
|
||||
- Scanner (FritzBox, DNS, HTTP/HTTPS, Portscan, Softwareerkennung)
|
||||
- CRUD-API für Geräte/Dienste/Kategorien
|
||||
- Fuzzy-Suche im Frontend gegen echte Daten (Ranking-Logik existiert bereits in
|
||||
`packages/shared`, ist aber noch nicht ans UI angebunden)
|
||||
- Adminbereich, Plugin-System, PWA-Manifest, TanStack Router/Query, shadcn/ui, Zod, RHF
|
||||
|
||||
Siehe [`docs/ROADMAP.md`](./docs/ROADMAP.md) für die geplante Reihenfolge.
|
||||
|
||||
## Deployment auf dem Server (xlc-launchpad)
|
||||
|
||||
```bash
|
||||
cd /opt/LaunchPad
|
||||
git pull
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
## Branching
|
||||
|
||||
Entwicklung erfolgt ausschließlich auf `dev`. `main` bleibt der stabile Branch.
|
||||
|
||||
Reference in New Issue
Block a user