No description
| app | ||
| components | ||
| lib | ||
| public/brand | ||
| types | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| next-env.d.ts | ||
| next.config.mjs | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| tailwind.config.ts | ||
| tsconfig.json | ||
Trader Joes – UI Dashboard
Kurzüberblick
- Next.js 14 + React 18 + Tailwind + leichte shadcn-UI (Card)
- PostgreSQL-Anbindung via
pgund API-Route/api/strategies - Dashboard rendert Strategien als Karten, Polling alle 10s (konfigurierbar)
Schnellstart
- .env anlegen (oder
.env.examplekopieren):- Entweder
DATABASE_URL=postgres://user:pass@host:5432/db- Hinweis: Sonderzeichen im Passwort URL-encoden (z. B.
@->%40)
- Hinweis: Sonderzeichen im Passwort URL-encoden (z. B.
- Oder Einzelwerte setzen:
PGHOST,PGPORT,PGUSER,PGPASSWORD,PGDATABASE - optional:
POLL_INTERVAL_MS=10000oderNEXT_PUBLIC_POLL_INTERVAL_MS=10000 - optional:
PGSSL=true(bei SSL)
- Entweder
- Abhängigkeiten installieren:
npm install
- Entwicklung starten:
npm run dev(http://localhost:3000)
Struktur
app/page.tsx: Startseite mit Strategien-Gridcomponents/strategy-cards.tsx: UI + Polling via SWRapp/api/strategies/route.ts: DB-Zugriff, liefert JSON aus Tabellestrategylib/db.ts: pg-Pool (ENV:DATABASE_URL, optionalPGSSL)lib/config.ts: Polling-Intervall aus ENVcomponents/ui/card.tsx: shadcn-Card Komponente
Hinweise zur DB
- Erwartet eine Tabelle
strategy. Es werden alle Spalten geladen (select *). - UI nutzt folgende Felder falls vorhanden:
id,name,description,status,is_active,updated_at. - Unbekannte Schemas werden bestmöglich angezeigt (fallbacks für Titel/Status/Zeitstempel).
Anpassungen
- Polling anpassen:
POLL_INTERVAL_MSoderNEXT_PUBLIC_POLL_INTERVAL_MS - Komponenten/Styles unter
components/undapp/globals.css