Rowad
Zweisprachige Entrepreneurship-Plattform für saudische Gründer — Podcasts, Kurse, Ressourcenbibliothek und Werkzeuge — als statische Astro-Site über einem Strapi-CMS.



Architecture Overview
graph TB
subgraph CMS["apps/admin — Strapi 5"]
A[Localized content types] --> B[(PostgreSQL)]
A --> C[S3 + CloudFront CDN]
end
subgraph Build["apps/web — Astro 7, build time"]
D[Generated Strapi client] --> E["features/*/api.ts"]
E --> F[Content loaders]
F --> G[(Astro content store)]
G --> H["data.ts accessors"]
end
A -->|REST| D
H --> I[Static HTML + React islands]
Eine zweisprachige Plattform für Unternehmerinnen und Unternehmer in Saudi-Arabien, entstanden bei Poyesis. Sie verbindet ein Strapi-Content-Backend mit einem vollständig statischen Astro-Frontend: Programmteams veröffentlichen Podcasts, Kurse, Expertenprofile, Veranstaltungen, Finanzierungswege und eine Ressourcenbibliothek aus dem CMS, und die Website baut sie neu und liefert sie als statisches HTML aus.
Der Datenfluss ist die Architekturentscheidung, die es wert ist, benannt zu werden. Jede externe Quelle — die Strapi-Collections, der Podcast-Hoster, Google APIs — wird als Astro Content Collection deklariert und pro Build genau einmal über einen Loader geladen. Seiten und Komponenten rufen nie selbst Daten ab; sie lesen einen lokalen Content-Store über typisierte Accessoren. Der Strapi-Client wird aus dem echten Schema generiert, sodass ein umbenanntes CMS-Feld zur Build-Zeit als Typfehler auffällt und nicht als leerer Abschnitt in Produktion.
Arabisch ist eine vollwertige Locale und keine nachträglich angeflanschte Übersetzungsschicht. Eigene i18n-Integrationen bilden jede Route pro Sprache ab, und das gesamte Layout spiegelt für RTL. Interaktivität bleibt bewusst gering: React-Islands hydrieren nur dort, wo ein Widget es rechtfertigt, und ein Lint-Schritt durchläuft den Importgraph jeder Island, um serverseitige Imports abzuweisen, bevor sie den Browser erreichen.
Hauptfunktionen:
- Vollständige Zweisprachigkeit Englisch/Arabisch mit RTL-Layout und Locale-Routen
- Podcast-Katalog, synchronisiert vom Hosting-Anbieter
- Kursbibliothek mit LMS-Einschreibung und Zertifikatsverfolgung
- Ressourcenbibliothek, Glossar, Werkzeuge und kostenlose Downloads
- Persönliches Dashboard mit Lesezeichen über alle Inhaltstypen
- Fuzzy-Suche im Client und filterbare Listen
- Redaktionell verwaltete Events, Experten, Partner, Auszeichnungen und Testimonials
- Newsletter-Anmeldung und Kontaktweiterleitung
- Bildgrößen zur Build-Zeit aus den im CMS gespeicherten Dimensionen
Tech-Stack:
- Frontend: Astro 7, React 19, Tailwind v4, TypeScript
- CMS: Strapi 5, PostgreSQL
- Infrastruktur: AWS S3 + CloudFront CDN
- Bibliotheken: Fuse.js-Suche, Embla-Karussells, Sharp-Bildpipeline
- Werkzeuge: pnpm workspaces, Turborepo, Node 24
Kundenprojekt für einen Arbeitgeber — das Repository bleibt privat.