MatchGate CosmiqGate CosmiqMatch CosmiqLove CosmiqConnect CosmiQconnect CosmiqPeople CosmiqBound CosmiqShip AstroGate5 Web – Modul-Chat-Anleitung Astro5 – Projekt-Einleitung & Modul-Chat-Anleitung Stand: 12.01.2026 Ziel dieses Dokuments Dieses Dokument ist die allgemeine Einleitung für das Projekt AstroGate5 Web. Du kannst es in jeden neuen Chat kopieren, damit sofort klar ist, worum es geht – und damit wir pro Chat/Modul fokussiert arbeiten können. Können wir das Programm so gestalten, das du es mir bei bringen tust,, jeden Schritt für Schritt das ich weiß was ich da Tue. Ich habe vor ca. 20 Jahre HTML gehabt,,, daher machen wir das wie ein Buch immer eine DIN A4 Seite mit der Aufgabe und du erklärst mir warum und was ich machen. Weisst du ws ich meien,, du bringst mir HTML/ PHP/ CSS / JAVA / Datenbank usw. für mein Projekt bei. Mir wäre es wichtig eine Eigene Datenbank zu schreiben und nicht abhängig von Xampp zu sein, falls ich die WebSeite online Schalten möchte. Schritt für Schritt anleitung für jede kleine Aufgabe,, damit ich es verstehe und die Fehler selbst heraus finden kann, bzw. ich es irgendwann selbst erweitern kann, da sist mein Ziel, durch das Projekt zu lernen. 1) Projekt-Kurzbeschreibung (AstroGate5 Web) AstroGate5 Web ist eine Singlebörse / Matching-Plattform mit astrologischen Profil-Daten. User registrieren sich, pflegen ihr Profil (Geburtsdaten, Ort, Koordinaten), laden ein Profilbild hoch und sehen ihre wichtigsten Astro-Daten (Sternzeichen, Aszendent, Mondzeichen + chinesisches Tierkreiszeichen, Elemente Luft, Feuer, Wasser, Erde, weiblich, männlich, so wie die Kombination zwischen Planeten + Sternzeichen + Häuser). Später folgen Suche und Matching (aber nicht in den ersten Modulen). 2) Grundprinzip: Ein Chat = ein Modul Wir arbeiten ab jetzt modular: pro Chat wird genau ein Modul umgesetzt und stabil gemacht. Erst wenn dieses Modul zuverlässig läuft, starten wir den nächsten Chat. Chat / Modul Umfang (genau) Modul 1 – Login/Registrierung Nur Login/Registrierung/Logout, Sessions, Passwort-Hashing, DB-Komplette Tabelle. Modul 2 – Profil (Stammdaten) Profilseite: Anzeigename, Geburtsdatum, Geburtszeit, Geschlecht, Suche, Kurz-Bio. Modul 3 – Orte (cities500) Land -> Stadt suchen, Speicherung von geonameid/lat/lon/timezone. Modul 4 – Bilder Upload, Speicherung, Admin-Prüfung, Status: pending/approved/rejected, Admin-Notiz. Modul 5 – Astrologie Berechnung Berechnung & Speicherung (Placidus default, später Auswahl), Anzeige: Sonne/Mond/Asz. Modul 6 – Suche Filtern & Finden (nach Ort, Geschlecht, Alter etc.). Modul 7 – Matching Score-System & Ranking (erst wenn alle Daten stabil gespeichert werden). Modul 8 – Admin User-Verwaltung, Bildmoderation, Rollen, Sperren, Logs. 3) Technische Rahmenbedingungen Test-Umgebung: Windows + XAMPP (PHP 8.2, MySQL/MariaDB, phpMyAdmin). Projektname: AstroGate5 Web Design-Ziel: moderne, hübsche Oberfläche (Astro-Hintergrund, transparente Karten, gute Lesbarkeit, spielerisch, süchtig). 4) Ordnerstruktur (einfach, deutsch, wenig Unterordner) Die Struktur soll bewusst einfach bleiben. Beispiel (anpassbar): Astro5 – Modul-Chat-Anleitung Seite 2 AstroGate5 Web/ public/ (öffentliche Seiten) login.php registrieren.php profil.php admin.php assets/ (css, bilder, js) app/ (logik) datenbank.php (PDO-Verbindung) sicherheit.php (escape, passwort, helpers) csrf.php (csrf token) session.php (session start) module/ (pro modul 1 Datei) modul_login.php modul_profil.php modul_orte.php modul_bilder.php modul_astro.php temp/ (verschlüsselte Zwischen-Aktionen, Log) aktivitaeten.enc.txt sql/ (schema + seeds) astro5_schema.sql astro5_seed.sql sweph/ (Swiss Ephemeris lokal) ephe/ (seas_18.se1, semo_18.se1, sepl_18.se1) Regel: Jede Seite in public/ ruft nur das zugehörige Modul in app/module/ auf. Gemeinsame Funktionen sind in app/*.php. Keine zirkulären Abhängigkeiten. Astro5 – Modul-Chat-Anleitung Seite 3 5) Datenbank-Strategie (einfach & stabil) Eine Datenbank: astro5. Die Tabelle cities500 bleibt drin. Alles andere (User, Profil, Astro, Bilder) liegt in derselben DB, damit nichts durcheinander kommt. Platzhalter-Regel: Wenn ein Datensatz noch nicht existiert, wird er beim ersten Zugriff angelegt (z.B. user_profiles / user_astrology mit '—' bzw. NULL), damit niemals eine Seite wegen fehlender Daten abstürzt. 6) Swiss Ephemeris: Dateien vs. Datenbank Swiss-Ephemeris-Dateien (seas_18.se1, semo_18.se1, sepl_18.se1) bleiben als Dateien im Ordner sweph/ephe/. In die DB speichern wir nur die Ergebnisse pro User: Sonne, Mond, Aszendent, MC, Häuser, Elemente usw. 7) TEMP-Ordner (verschlüsselte Aktionen) Es gibt temp/aktivitaeten.enc.txt. Jedes Modul darf dort kurzlebige Workflow-Zustände speichern (z.B. 'Profil speichern läuft'). TEMP ist nicht der Ersatz für die DB, sondern nur ein stabiler Zwischenpuffer. 8) UI/Design-Richtlinien • Astro-Hintergrundbild über die komplette Seite. • Inhalte als schwebende Cards (semi-transparent, Blur, abgerundete Ecken). • Dropdowns/Inputs: immer gut lesbar (kein Weiß-auf-Hell). • Einheitliche Buttons, klare Navigation, mobile-geeignet. 9) Menü (Plan) User: Profil / Einstellungen / Astro / Suche / Matching Admin: Admin / Einstellungen / User Logins / User Daten / Bildfreigaben Optional später: Nachrichten, Abo/Bezahlung, Support/Report, Datenschutz. 10) Prompt-Vorlage für jeden neuen Modul-Chat Kopiere diesen Block an den Anfang eines neuen Chats und ersetze die Platzhalter: Projekt: Astro5 (Astro-Singlebörse) – Windows/XAMPP PHP 8.2 – eine DB: astro5. Modul in diesem Chat: . Ziel: . Definition of Done: . Betroffene Dateien: . Betroffene Tabellen: . Wichtig: Platzhalter anlegen, damit nichts abstürzt. TEMP-Log: temp/aktivitaeten.enc.txt. Bitte nur dieses Modul anfassen, nichts anderes umbauen.