Some checks failed
Build and publish Docker image / docker (push) Failing after 2m33s
45 lines
1.8 KiB
Markdown
45 lines
1.8 KiB
Markdown
# Menschheits-Enzyklopaedie
|
|
|
|
Eine vorbereitete V1 fuer eine quellenpflichtige Wissensplattform mit KI-Frageportal, KI-Recherche, Community-Beitraegen und auditierbarer KI-Moderation.
|
|
|
|
## Stack
|
|
|
|
- Next.js App Router mit TypeScript und Tailwind CSS
|
|
- Postgres mit Prisma
|
|
- NextAuth Credentials-Grundlage fuer spaetere Rollen-Logins
|
|
- LiteLLM-kompatible LLM-Schicht fuer lokale und externe Modelle
|
|
- Vitest fuer fokussierte Service-Tests
|
|
|
|
## Lokale Einrichtung
|
|
|
|
1. `.env.example` nach `.env` kopieren und Werte setzen.
|
|
2. Postgres starten, zum Beispiel mit `docker compose -f docker-compose.example.yml up postgres`.
|
|
3. Prisma Client generieren: `npm run prisma:generate`.
|
|
4. Migrationen fuer die Entwicklung ausfuehren: `npm run db:dev`.
|
|
5. App starten: `npm run dev`.
|
|
|
|
## Wichtige Routen
|
|
|
|
- `/` - Frageportal und KI-Recherche
|
|
- `/admin` - Admin Center fuer KI-Moderationsentscheidungen
|
|
- `/api/health` - Health Check fuer App und Datenbank
|
|
- `/api/questions` - quellenbasierte KI-Antworten
|
|
- `/api/research` - KI-Recherche mit Quellenpflicht und Moderation
|
|
- `/api/contributions` - Community-Beitraege
|
|
|
|
## Docker-Vorbereitung
|
|
|
|
Das Repository enthaelt ein Dockerfile und `.dockerignore`, aber noch keinen Release- oder Publish-Prozess. Das Image erwartet Runtime-Konfiguration ueber Umgebungsvariablen und fuehrt keine destruktiven Migrationen beim Start aus.
|
|
|
|
Produktionsnaher Build:
|
|
|
|
```bash
|
|
docker build -t human-archive:local .
|
|
```
|
|
|
|
## Entwicklungshinweise
|
|
|
|
- Ohne `LITELLM_BASE_URL` und `LITELLM_API_KEY` nutzt die App einen lokalen Fallback, damit Builds und UI-Flows nicht an fehlenden Modellzugangsdaten scheitern.
|
|
- Die API akzeptiert in `NODE_ENV !== "production"` den Header `x-demo-role: MEMBER` oder `x-demo-role: ADMIN`, um Workflows ohne eingerichtetes Login zu testen.
|
|
- Kein veroeffentlichter Wissenseintrag darf ohne gespeicherte Quelle entstehen.
|