Wiki source code of Schwarmspeicher Electrify

Version 1.1 by Dimitri Rupp on 2026/07/08 12:34

Show last authors
1 {{box cssClass="floatinginfobox" title="**Auf dieser Seite**"}}
2 {{toc/}}
3 {{/box}}
4
5 = 🔋 Schwarmspeicher Electrify =
6
7 {{info}}
8 **Zweck:** Webbasiertes Projektmanagementsystem zur Verwaltung von Batterie-Großspeicherprojekten in Deutschland und Österreich — vom Standort über Genehmigungen bis zur Projektsteuerung und Dokumentation.
9 {{/info}}
10
11 == Ăśbersicht ==
12
13 **Schwarmspeicher Electrify** unterstĂĽtzt den gesamten Projektlebenszyklus: Standortidentifikation, Genehmigungen, Projektsteuerung und Dokumentation.
14
15 == Technologie-Stack ==
16
17 **Frontend:** React 18 · TypeScript · Vite · Tailwind CSS · shadcn/ui · React Router · React Query · React Hook Form · Leaflet (Kartendarstellung) · Recharts (Diagramme)
18
19 **Backend:** Supabase — PostgreSQL, Authentication, Storage, Edge Functions, Row Level Security (RLS)
20
21 == Projektstruktur ==
22
23 {{code}}
24 src/
25 ├── components/ UI-Komponenten
26 ├── pages/ Seiten der Anwendung
27 ├── hooks/ Datenzugriffe und Business-Logik
28 ├── integrations/ Supabase Client
29 ├── types/ TypeScript-Modelle
30 └── lib/ Hilfsfunktionen
31
32 supabase/
33 ├── migrations/
34 ├── functions/
35 └── config.toml
36 {{/code}}
37
38 == Hauptfunktionen ==
39
40 === Dashboard ===
41
42 Zentrale Ăśbersicht ĂĽber Projekte, Status, offene Aufgaben, Kennzahlen und Projektfortschritt (Komponente ##Dashboard.tsx##).
43
44 === Projektverwaltung ===
45
46 Verwaltung aller Batteriespeicherprojekte: anzeigen, Detailansicht, bearbeiten, Projektstatus, Meilensteine. Komponenten: ProjectTable, ProjectDetail.
47
48 === Standortverwaltung ===
49
50 Standorte anlegen, bearbeiten, importieren, Historie, Dokumente. Komponenten: StandortDetail, CreateStandortForm, StandortImportDialog, StandortDokumente.
51
52 === Gemeinden ===
53
54 Verwaltung der Gemeinden (Komponente CreateGemeindeForm). Zusätzlich existiert eine Supabase Edge Function zum Abruf von NÖ-Gemeinden (##supabase/functions/fetch-noe-gemeinden##).
55
56 === Kartenansicht ===
57
58 Darstellung aller Standorte auf einer interaktiven Karte (Leaflet, React Leaflet). Komponenten: ProjectMap, LocationPickerMap.
59
60 === Potenzialanalyse ===
61
62 Bewertung möglicher Standorte. Komponenten: PotenzialTabelle, PotenzialPage.
63
64 === Pipeline ===
65
66 Verwaltung von Vorprojekten. Komponenten: VorprojektePipeline, VorprojektTimeline.
67
68 === Meilensteinverwaltung ===
69
70 Projektfortschritt ĂĽber Meilensteine. Komponenten: MeilensteinMatrix, MeilensteinQuickEdit.
71
72 === Aufgabenverwaltung ===
73
74 Projektbezogene Aufgaben. Komponenten: TaskManager, TasksPage. Hook: ##useTasks()##.
75
76 === Dokumentenverwaltung ===
77
78 Zu jedem Standort können Dokumente verwaltet werden. Komponenten: StandortDokumente, PartnerDokumente.
79
80 === Standortpartner ===
81
82 Verwaltung von Projektpartnern. Komponenten: StandortpartnerManager, StandortpartnerTable.
83
84 === Benutzerverwaltung ===
85
86 Anmeldung, Passwortänderung, Rollen. Komponenten: AuthProvider, ProtectedRoute, BenutzerPage, ChangePasswordDialog. Backend: Supabase Authentication.
87
88 === Audit Log ===
89
90 Nachvollziehbarkeit von Änderungen (Seite AuditLogPage).
91
92 == Routing ==
93
94 |=Seite|=Beschreibung
95 |Dashboard|Startseite
96 |Projekte|ProjektĂĽbersicht
97 |Pipeline|Vorprojekte
98 |Potenziale|Standortpotenziale
99 |Karte|Kartenansicht
100 |Forecast|Forecast
101 |Aufgaben|Aufgabenverwaltung
102 |Audit Log|Änderungsprotokoll
103 |Benutzer|Benutzerverwaltung
104 |Login|Anmeldung
105
106 == Datenzugriff ==
107
108 Der Zugriff erfolgt über Custom Hooks, die sämtliche Kommunikation mit Supabase kapseln:
109
110 {{code}}
111 useStandorte()
112 useGemeinden()
113 useVorprojekte()
114 useTasks()
115 usePotenzialDaten()
116 useStandortpartner()
117 useMonatsziele()
118 {{/code}}
119
120 == Supabase ==
121
122 **Authentication:** Login, Passwortänderung, Rollenverwaltung.
123
124 **Datenbank:** Wird ĂĽber SQL-Migrationen verwaltet (##supabase/migrations/##). Die Migrationen definieren Tabellen, Policies und Datenbankfunktionen.
125
126 **Edge Functions:**
127
128 * ##fetch-noe-gemeinden## — lädt Gemeinden aus Niederösterreich
129 * ##manage-users## — Benutzerverwaltung
130
131 == Architektur ==
132
133 {{mermaid}}
134 flowchart TD
135 FE["React Frontend"] --> RQ["React Query"]
136 RQ --> SC["Supabase Client"]
137 SC --> AUTH["Auth"]
138 SC --> DBS["Database"]
139 SC --> ST["Storage"]
140 DBS --> EF["Edge Functions"]
141 {{/mermaid}}
142
143 == Server ==
144
145 Das Projekt liegt unter ##/mnt/data/schwarmspeicher/schwarmspeicher-electrify_lokal## und läuft in einem Docker-Compose-Stack (##schwarmspeicher-electrify_lokal##).
146
147 Erreichbar unter [[http://schwarmspeicher.spl-tele.com:8200>>http://schwarmspeicher.spl-tele.com:8200/]] — mit VPN und im SPL-TELE-Netzwerk.