photo_library MFC-Noris Dateiablage & Galerie
Zentrale Foto-, Video- und Dokumentenverwaltung des MFC-Noris e.V.
| Domain | files.flugbuchnoris.de |
| Port | 3005 (hinter nginx Reverse Proxy) |
| Status | Live |
| Auth | Gleiche Zugangsdaten wie Members (shared.users) |
auto_awesome Features
Galerie
- Oeffentliche Fotos und Videos aller Mitglieder in einem Bild-Grid
- Gruppierung nach Uploader mit Namens-Header und Anzahl
- Lightbox mit Vollbild-Ansicht, Prev/Next-Navigation und Keyboard-Support
- Filter nach Tags und Freitext-Suche
- "Mehr laden"-Pagination
Meine Dateien
- Persoenliche Dateiablage mit Ordnerstruktur und Breadcrumb-Navigation
- Drag-and-Drop Upload mit automatischer Bildkomprimierung (max. 2 MB)
- Quota-Balken zeigt Speicherverbrauch in Echtzeit
- Dateien als oeffentlich markieren (sichtbar in der Galerie)
- Beschreibungen und Tags hinzufuegen
storage Speicher-Kontingente
| Rolle | Speicher | Video-Limit pro Datei |
| Mitglied, Flugleiter, Gast | 1 GB | 50 MB |
| Admin, Vorstand, Superadmin | 50 GB | 500 MB |
image Bildverarbeitung
Client-seitige Komprimierung (Upload)
- Max. Dimension: 2048 px (laengere Seite)
- Zielgroesse: 2 MB
- Format: JPEG
- Quality-Loop: 0.85 bis 0.3 (schrittweise reduziert bis Zielgroesse erreicht)
Server-seitige Thumbnails
- Bibliothek: sharp
- Breite: 320 px
- Format: JPEG, Qualitaet 80%
- Nur fuer Fotos (Videos und Dokumente erhalten Platzhalter-Icons)
architecture Technische Architektur
Tech-Stack
| Frontend | Vanilla HTML/CSS/JS (Single Page Application) |
| Backend | Node.js + Express |
| Upload | Multer (Disk Storage) |
| Thumbnails | sharp (320px, JPEG 80%) |
| Datenbank | PostgreSQL (Schema files, Cross-Schema shared + members) |
| Auth | JWT (Bearer Token + Query-Parameter-Fallback fuer Media) |
| Prozess | systemd (mfcnoris-files.service) |
security Sicherheit
- Kein statisches File-Serving — Uploads werden nie direkt ausgeliefert, sondern nur ueber
/api/dateien/:id/download mit Auth-Check
- Quota-Enforcement — Jeder Upload prueft den aktuellen Speicherverbrauch serverseitig
- Owner-Check — Dateien koennen nur vom Besitzer bearbeitet/geloescht werden
- Token-Fallback —
<img> und <video> Tags koennen keine Authorization-Header senden, daher wird der JWT auch als Query-Parameter akzeptiert
link Integration mit Members-App
Die Members-App (members.flugbuchnoris.de) zeigt unter Mein Bereich → Fotos / Dateien Statistiken an:
- Anzahl eigener Dateien
- Anzahl Bilder in der Galerie
- Eigener Speicherverbrauch
- Direktlink zur Dateiablage
Dafuer hat app_members SELECT-Zugriff auf files.dateien (Cross-Schema).
MFC-Noris Vereinsserver — Dateiablage & Galerie — April 2026