Schwarmspeicher Electrify
🔋 Schwarmspeicher Electrify
Ăśbersicht
Schwarmspeicher Electrify unterstĂĽtzt den gesamten Projektlebenszyklus: Standortidentifikation, Genehmigungen, Projektsteuerung und Dokumentation.
Technologie-Stack
Frontend: React 18 · TypeScript · Vite · Tailwind CSS · shadcn/ui · React Router · React Query · React Hook Form · Leaflet (Kartendarstellung) · Recharts (Diagramme)
Backend: Supabase — PostgreSQL, Authentication, Storage, Edge Functions, Row Level Security (RLS)
Projektstruktur
├── components/ UI-Komponenten
├── pages/ Seiten der Anwendung
├── hooks/ Datenzugriffe und Business-Logik
├── integrations/ Supabase Client
├── types/ TypeScript-Modelle
└── lib/ Hilfsfunktionen
supabase/
├── migrations/
├── functions/
└── config.toml
Hauptfunktionen
Dashboard
Zentrale Ăśbersicht ĂĽber Projekte, Status, offene Aufgaben, Kennzahlen und Projektfortschritt (Komponente Dashboard.tsx).
Projektverwaltung
Verwaltung aller Batteriespeicherprojekte: anzeigen, Detailansicht, bearbeiten, Projektstatus, Meilensteine. Komponenten: ProjectTable, ProjectDetail.
Standortverwaltung
Standorte anlegen, bearbeiten, importieren, Historie, Dokumente. Komponenten: StandortDetail, CreateStandortForm, StandortImportDialog, StandortDokumente.
Gemeinden
Verwaltung der Gemeinden (Komponente CreateGemeindeForm). Zusätzlich existiert eine Supabase Edge Function zum Abruf von NÖ-Gemeinden (supabase/functions/fetch-noe-gemeinden).
Kartenansicht
Darstellung aller Standorte auf einer interaktiven Karte (Leaflet, React Leaflet). Komponenten: ProjectMap, LocationPickerMap.
Potenzialanalyse
Bewertung möglicher Standorte. Komponenten: PotenzialTabelle, PotenzialPage.
Pipeline
Verwaltung von Vorprojekten. Komponenten: VorprojektePipeline, VorprojektTimeline.
Meilensteinverwaltung
Projektfortschritt ĂĽber Meilensteine. Komponenten: MeilensteinMatrix, MeilensteinQuickEdit.
Aufgabenverwaltung
Projektbezogene Aufgaben. Komponenten: TaskManager, TasksPage. Hook: useTasks().
Dokumentenverwaltung
Zu jedem Standort können Dokumente verwaltet werden. Komponenten: StandortDokumente, PartnerDokumente.
Standortpartner
Verwaltung von Projektpartnern. Komponenten: StandortpartnerManager, StandortpartnerTable.
Benutzerverwaltung
Anmeldung, Passwortänderung, Rollen. Komponenten: AuthProvider, ProtectedRoute, BenutzerPage, ChangePasswordDialog. Backend: Supabase Authentication.
Audit Log
Nachvollziehbarkeit von Änderungen (Seite AuditLogPage).
Routing
| Seite | Beschreibung |
|---|---|
| Dashboard | Startseite |
| Projekte | ProjektĂĽbersicht |
| Pipeline | Vorprojekte |
| Potenziale | Standortpotenziale |
| Karte | Kartenansicht |
| Forecast | Forecast |
| Aufgaben | Aufgabenverwaltung |
| Audit Log | Änderungsprotokoll |
| Benutzer | Benutzerverwaltung |
| Login | Anmeldung |
Datenzugriff
Der Zugriff erfolgt über Custom Hooks, die sämtliche Kommunikation mit Supabase kapseln:
useGemeinden()
useVorprojekte()
useTasks()
usePotenzialDaten()
useStandortpartner()
useMonatsziele()
Supabase
Authentication: Login, Passwortänderung, Rollenverwaltung.
Datenbank: Wird ĂĽber SQL-Migrationen verwaltet (supabase/migrations/). Die Migrationen definieren Tabellen, Policies und Datenbankfunktionen.
Edge Functions:
- fetch-noe-gemeinden — lädt Gemeinden aus Niederösterreich
- manage-users — Benutzerverwaltung
Architektur
flowchart TD
FE["React Frontend"] --> RQ["React Query"]
RQ --> SC["Supabase Client"]
SC --> AUTH["Auth"]
SC --> DBS["Database"]
SC --> ST["Storage"]
DBS --> EF["Edge Functions"]
Server
Das Projekt liegt unter /mnt/data/schwarmspeicher/schwarmspeicher-electrify_lokal und läuft in einem Docker-Compose-Stack (schwarmspeicher-electrify_lokal).
Erreichbar unter http://schwarmspeicher.spl-tele.com:8200 — mit VPN und im SPL-TELE-Netzwerk.