from docx import Document from docx.shared import Pt DOC_PATH = "/Users/azu/Desktop/VTubeAwards/VTuber Star Awards - Website V2.docx" def add_paragraph(doc: Document, text: str, style: str | None = None): paragraph = doc.add_paragraph(style=style) paragraph.paragraph_format.space_after = Pt(5) paragraph.paragraph_format.line_spacing = 1.1 paragraph.add_run(text) def main(): doc = Document(DOC_PATH) doc.add_heading("24. Umsetzungsstand Sprint Update", level=1) add_paragraph( doc, "Dieses Sprint-Update dokumentiert den aktuellen technischen Umsetzungsstand fuer die zuvor priorisierten Punkte 1 und 3: lokales PostgreSQL-/Migration-Setup fuer die Entwicklung sowie die naehere Angleichung des Frontends an die freigegebene Collector-Editorial-Richtung.", ) add_paragraph(doc, "Backend / Punkt 1", style="Heading 2") add_paragraph( doc, "Die erste EF-Core-Migration wurde bereits erzeugt. Zusaetzlich wurde das lokale Setup so vorbereitet, dass die API ihre PostgreSQL-Verbindung per appsettings oder Umgebungsvariable VTSA_POSTGRES beziehen kann. Fuer die lokale Entwicklung wurde ausserdem eine optionale docker-compose.dev.yml fuer PostgreSQL hinterlegt. Ein eigener Health-Endpunkt fuer die Datenbank liefert den Verbindungsstatus sowie eventuell noch ausstehende Migrationen.", ) add_paragraph(doc, "Frontend / Punkt 3", style="Heading 2") add_paragraph( doc, "Die Startseite und zentrale Produktflaechen wurden visuell weiter in Richtung Collector Editorial verfeinert: mehr White Space, ruhigere Karten, staerkere typografische Hierarchie, eine hochwertigere AppShell sowie ein klarer getrenntes, host-getriebenes Hero-Panel. Auch Nominierungs-, Voting- und Admin-Flaechen wurden in dieselbe Formsprache ueberfuehrt, damit die Seite nicht nur auf der Landingpage, sondern ueber den gesamten MVP hinweg konsistent premium wirkt.", ) add_paragraph(doc, "Offene technische Hinweise", style="Heading 2") add_paragraph( doc, "In der aktuellen Arbeitsumgebung konnte keine laufende lokale PostgreSQL-Instanz gestartet werden, da Docker bzw. lokale PostgreSQL-Binaries hier nicht verfuegbar waren. Der Code- und Setup-Stand ist jedoch so vorbereitet, dass die Migrationen direkt angewendet werden koennen, sobald lokal eine Datenbankinstanz bereitsteht.", ) doc.save(DOC_PATH) if __name__ == "__main__": main()