Skip to content

cgerards/check24-gendev

Repository files navigation

GenDev 8 - Home Widgets System (Christoph Gerards)

Check24 Logo

Dokumente

Einleitung

Vielen Dank, dass Sie meine Umsetzung für die Check24 GenDev Scholarship Challenge in Betracht ziehen. Über die letzten Wochen hat es mir sehr viel Spaß gemacht, an dieser Challenge zu arbeiten und ich habe viel dazu gelernt. Für mich war vor allem die Entwicklung einer nativen App eine tolle, neue Erfahrung, die ich hiermit umsetzen konnte.

In diesem Projekt stelle ich eine Next.js/React-basierte Webseite zur Verfügung, welche die Startpage von Check24 replizieren soll. Hierbei habe ich einige Widgets erstellt, die einzeln von verschiedenen Speedboats geladen werden. Hierdurch liegt die Auslastung nicht ausschließlich bei der Startpage, sondern wird von mehreren Speedboats abgehandelt.

Zusätzlich dazu habe ich eine native Android App (Kotlin Compose) entwickelt, welche die Startpage der Check24-App darstellen soll. Hierbei ist das gleiche Verhalten wie bereits in der Webseite für die App "übersetzt" implementiert worden. Dazu wurden für die App-Version eigens Widgets designed und implementiert, die jedoch auf die gleichen Daten der Speedboats zugreifen.

In dieser README wird das Projekt vorgestellt und Installationshinweise bereitgestellt. Die beiden weiteren Dokumente (Concept, Developer_Guideline) habe ich auf Englisch verfasst, da ich mich in dieser Sprache gezielter (mit Fachbegriffen der Informatik) ausdrücken kann.

Deployment

Die Web-Version habe ich vollständig deployed, um öffentlichen Zugriff zu ermöglichen. Hierbei ist das Frontend über Vercel gehostet, da das Next.js Framework sehr gut unterstützt wird (gleiches Entwicklungsteam).

Das Backend habe ich über AWS gehostet, da ich damit bereits Erfahrung habe und es zusätzlich gängige Praxis ist.

Screenshots des Projekts

🖥️ Website / Web-App Screenshots (click to expand)
Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 4
📱 Android App Screenshots (click to expand)
Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

Installationsanleitung des PoC

Web-Version

Die Web-Version wird mithilfe von npm bzw. pnpm gestartet. Diese Version basiert auf Next.js/React.

$ cd check24-web
/check24-web $ pnpm install
/check24-web $ pnpm dev

Anschließend ist die Webseite über localhost:3000 im Browser erreichbar.

Backend (Orchestrator + Speedboats)

Die einzelnen Speedboats habe ich in einer docker-compose.yaml spezifiziert. Diese kann man mithilfe von Docker starten:

$ docker compose up --build

Anschließend wurden fünf Services bzw. Speedboats gestartet:

Service Port Beschreibung
Orchestrator 8000 Hauptdienst zum Laden der Widgets, z.B. auch Anordnung
Speedboat Home 8001 Dienst für Eigenheim-Widgets
Speedboat Travel 8002 Dienst für Reise-Widgets
Speedboat Shopping 8003 Dienst für Shopping-Widgets
Speedboat Contract 8004 Dienst für Vertrags-Widgets

Mobile (Android)

Das Android-Projekt liegt im Ordner check24_mobile.

Import:

  1. Android Studio öffnen
  2. Open -> check24_mobile
  3. Projekt laden lassen (Gradle sync)
  4. Emulator starten -> Run

Zusammenfassung der Architektur

Architecutre Diagram

Features

  • Orchestrator fetched Informationen und fasst Widgets zusammen
  • Dynamisches Anzeigen von Widgets in der Webversion und Android App
  • Unabhängige Speedboats, welche die Last von der Homepage nehmen
  • Android App unterstützt gleiches Format wie die Webversion

Technologien

Next.js React FastAPI Kotlin Compose Vercel AWS docker
  • Next.js / React für das Frontend
  • FastAPI für den Orchestrator und die Speedboats
  • Kotlin / Jetpack Compose für die Native Android App
  • Vercel und AWS für das Deployment von Frontend und Backend
  • Docker für das Erstellen von Containern im Backend

About

CHECK24 Gendev 2025 repository.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors