Changes for page Schwarmspeicher Electrify

Last modified by Patrizia Gurschka on 2026/09/10 14:58

From version 17.2
edited by Patrizia Gurschka
on 2026/09/10 12:40
Change comment: Auto-saved during real-time collaboration
To version 21.3
edited by Patrizia Gurschka
on 2026/09/10 13:03
Change comment: Auto-saved during real-time collaboration

Summary

Details

Page properties
Content
... ... @@ -14,12 +14,21 @@
14 14  
15 15  )))
16 16  
17 +== Überblick ==
17 17  
19 +**Schwarmspeicher Electrify **unterstützt den gesamten Projektlebenszyklus: Standortidentifikation, Genehmigungen, Projektsteuerung und Dokumentation — für beide Use-Cases parallel, über einen Umschalter in der Seitenleiste.
18 18  
19 -== Übersicht ==
21 +* **Frontend:** React 18 · Vite · React Query · Axios-Client (nginx-Reverse-Proxy)
22 +* **Backend:** FastAPI · SQLite (WAL-Modus) · JWT-Authentifizierung
23 +* **Datenquellen:** RIMO/SQL-Server (Fahrer-Stammdaten) · Microsoft Fabric (SharePoint, KM-Formular-Mails) · GPS-AT/Tesla-APIs (Kilometerstände)
24 +* **Orchestrierung:** eigenständige Cron-Skripte auf dem Server, unabhängig vom Docker-Container
20 20  
21 -**Schwarmspeicher Electrify **unterstützt den gesamten Projektlebenszyklus: Standortidentifikation, Genehmigungen, Projektsteuerung und Dokumentation — für beide Use-Cases parallel, über einen Umschalter in der Seitenleiste.
26 +== Architektur ==
22 22  
28 +[[image:1789037109962-994.png]]
29 +
30 +Zusätzlich übernimmt nginx im Frontend-Container TLS-Terminierung und same-origin-Routing (/auth, /rest, /storage, /realtime, /functions → supabase-kong) — dadurch läuft die App ohne CORS- oder Private-Network-Access-Probleme im Browser
31 +
23 23  == Technologie-Stack ==
24 24  
25 25  **Frontend: **React 18 · TypeScript · Vite · Tailwind CSS · shadcn/ui · React Router · React Query · Leaflet + leaflet.markercluster (Kartendarstellung) · Recharts (Diagramme) · XLSX (Excel-Import/-Export)
... ... @@ -26,34 +26,6 @@
26 26  
27 27  **Backend: **Supabase (self-hosted) — PostgreSQL, Authentication, Storage, Edge Functions, Row Level Security (RLS)
28 28  
29 -== Projektstruktur ==
30 -
31 -|(((
32 -📁 src/
33 -
34 -📁   components/   UI-Komponenten (Schwarmspeicher + CoLocation*-Pendants)
35 -
36 -📁   pages/   Seiten der Anwendung
37 -
38 -📁   hooks/   Datenzugriffe und Business-Logik
39 -
40 -📁   integrations/   Supabase Client
41 -
42 -📁   types/   TypeScript-Modelle
43 -
44 -📁   lib/   Hilfsfunktionen (u.a. mapCoordinates.ts)
45 -
46 -📁 supabase/
47 -
48 -📁   migrations/   SQL-Migrationen (inkl. komplettes PV-Co-Location-Schema)
49 -
50 -📁   functions/   Edge Functions
51 -)))
52 -
53 -== Use-Case-Umschalter ==
54 -
55 -Zwei Buttons oben in der Seitenleiste ("Schwarmspeicher" / "PV-Co-Location"). Welcher Use-Case aktiv angezeigt wird, leitet sich direkt aus der aktuellen URL ab (Hook useUseCase.tsx, /pv-colocation/*-Pfade vs. Rest) — nicht aus einem gespeicherten Zustand. Dadurch zeigt die Seitenleiste nach Login oder direktem Aufruf eines Links immer konsistent den richtigen Use-Case.
56 -
57 57  == Hauptfunktionen ==
58 58  
59 59  === 1. Dashboard ===
... ... @@ -158,8 +158,6 @@
158 158  * In FlaecheVerpachtenPage.tsx sind Firmenname und Telefonnummer aktuell Platzhalter (Rateware). Vor dem Livegang unbedingt durch die echten Kontaktdaten ersetzen.
159 159  )))
160 160  
161 -
162 -
163 163  == Routing ==
164 164  
165 165  |**Pfad**|**Seite**|**Use-Case**|**Login nötig**
... ... @@ -182,8 +182,6 @@
182 182  |/pv-colocation/stockend|Stockende Standorte|PV-Co-Location|ja
183 183  |/flaeche-verpachten|Landingpage „Fläche verpachten"|—|NEIN – öffentlich
184 184  
185 -
186 -
187 187  == Datenzugriff ==
188 188  
189 189  Der Zugriff erfolgt über Custom Hooks, die sämtliche Kommunikation mit Supabase kapseln:
... ... @@ -210,8 +210,6 @@
210 210  useUseCase()   useAuth()
211 211  )))
212 212  
213 -
214 -
215 215  == Supabase ==
216 216  
217 217  **Authentication: **Login, Passwortänderung, Rollenverwaltung.
... ... @@ -226,14 +226,10 @@
226 226  
227 227  **Storage: **zwei Buckets — dokumente (Schwarmspeicher) und co-dokumente (PV-Co-Location).
228 228  
204 +== Use-Case-Umschalter ==
229 229  
230 -== Architektur ==
206 +Zwei Buttons oben in der Seitenleiste ("Schwarmspeicher" / "PV-Co-Location"). Welcher Use-Case aktiv angezeigt wird, leitet sich direkt aus der aktuellen URL ab (Hook useUseCase.tsx, /pv-colocation/*-Pfade vs. Rest) — nicht aus einem gespeicherten Zustand. Dadurch zeigt die Seitenleiste nach Login oder direktem Aufruf eines Links immer konsistent den richtigen Use-Case.
231 231  
232 -[[image:1789017284336-190.png||height="353" width="762"]]
233 -
234 -Zusätzlich übernimmt nginx im Frontend-Container TLS-Terminierung und same-origin-Routing (/auth, /rest, /storage, /realtime, /functions → supabase-kong) — dadurch läuft die App ohne CORS- oder Private-Network-Access-Probleme im Browser
235 -
236 -
237 237  == Offene Punkte / zu verifizieren ==
238 238  
239 239  |(((
... ... @@ -245,8 +245,6 @@
245 245  * KPI-Zuordnung im PV-Co-Location-Forecast (Netzantrag = kWp, die übrigen drei Meilensteine = kW) ist eine Annahme — bei Bedarf auf eine einheitliche Einheit umstellen.
246 246  )))
247 247  
248 -
249 -
250 250  == Server ==
251 251  
252 252  Das Projekt liegt unter /mnt/data/schwarmspeicher/schwarmspeicher-electrify_lokal und läuft in einem eigenständigen Docker-Compose-Stack (schwarmspeicher-electrify_lokal).
1789037109962-994.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.gurschkap
Size
... ... @@ -1,0 +1,1 @@
1 +60.0 KB
Content