https://github.com/sentexi/central-upstream
The all in one web app to solve all my disorganised needs
https://github.com/sentexi/central-upstream
Last synced: 15 days ago
JSON representation
The all in one web app to solve all my disorganised needs
- Host: GitHub
- URL: https://github.com/sentexi/central-upstream
- Owner: Sentexi
- Created: 2025-12-10T21:18:20.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2026-05-05T14:03:15.000Z (about 1 month ago)
- Last Synced: 2026-05-05T16:09:23.795Z (about 1 month ago)
- Language: Python
- Size: 721 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Central Upstream – Skeleton
Dieses Repo ist ein Skeleton für:
- Flask-Backend als API-Server mit Modul-Registry
- React-Frontend (geplant mit Vite) mit Modul-Slot-System
Aktuell werden nur Ordnerstruktur und Basis-Dateien erstellt.
Kein venv, keine npm-Installationen – das passiert lokal je nach System.
## Struktur
- \`backend/\` – Flask-App
- \`app/core\` – Config, Module-Basis, Registry
- \`app/modules\` – Platz für Backend-Module
- \`app/api\` – zentrale API-Routen
- \`frontend/\` – React-Skeleton
- \`src/core\` – Modul-Typen & Registry
- \`src/modules\` – Platz für Frontend-Module
## Nächste Schritte (manuell)
### Backend
1. Lokale venv anlegen (nicht im Repo):
2. Abhängigkeiten installieren aus \`backend/requirements.txt\`.
3. \`python backend/run_dev.py\` starten.
### Frontend
1. Sicherstellen, dass Node + npm installiert sind.
2. In \`frontend/\`:
- \`npm install\` (installiert Dependencies lokal)
- \`npm run dev\` (Dev-Server starten, optional Vite)
Die Implementierung der eigentlichen Module (z.B. \`quick_capture\`) erfolgt später
unter \`backend/app/modules/\` und \`frontend/src/modules/\`.
### Manual-Import Metadaten (Health)
Das Health-Modul liefert in seinem Settings-Schema zusätzlich einen \`manual_import\` Block
(\`GET /api/settings/schema\`), der dem Frontend Dateiuploads beschreibt:
- \`endpoint\`: Ziel-URL für den Upload (\`/api/health/ingest\`)
- \`upload_kind\`: \`\"json\"\` bedeutet, dass die Datei als JSON gelesen und als \`application/json\` gesendet wird (statt multipart).
- \`accept\`: Liste erlaubter MIME-Types/Endungen (z. B. \`[\"application/json\", \".json\"]\`)
- \`help_text\` / \`upload_hint\`: kurze Hinweise für die UI
- \`success_message\` / \`error_message\`: optionale Texte für Upload-Feedback
# Linux (Ubuntu/Debian) – Install via GitHub Release Bundle
sudo apt update
sudo apt install -y unzip python3-venv
mkdir -p /opt/central-upstream && cd /opt/central-upstream
## download release asset (replace OWNER/REPO + TAG)
```
curl -L -o release_bundle.zip "https://github.com/sentexi/central-upstream/releases/download/vX.X.X/release_bundle.zip"
```
```
unzip -o release_bundle.zip
cp .env.example .env
```
```
chmod +x run.sh
./run.sh
```