</>davide@portfolio ~ dev
cd ../projects

$ open prospektfinder

ProspektFinder

Mai 2026 — Juni 2026

Mobile App für aktuelle Supermarkt-Angebote, Einkaufsliste und digitale Kundenkarten.

ExpoReact NativeTypeScriptFlaskMongoDBPythonPush NotificationsScraping
Projekt ansehen ↗
ProspektFinder

## Überblick

ProspektFinder ist als alltagstaugliche Mobile-App für den Supermarkt-Einkauf entstanden. Nutzer können Angebote mehrerer Händler durchsuchen, nach Kategorien und Gültigkeit filtern und interessante Produkte direkt auf eine Einkaufsliste setzen.

Die App kombiniert lokale App-Daten, Standortlogik und ein eigenes Backend, damit Angebote nicht nur statisch angezeigt werden, sondern abhängig von Markt und Region geladen werden können.

## Mobile App

Die App ist mit Expo Router, React Native und TypeScript umgesetzt. Sie nutzt eine tabbasierte Navigation für Home, Liste, Wallet und Wunschliste und speichert nutzerbezogene Daten lokal per AsyncStorage.

### Angebote entdecken

  • Store-Auswahl für Kaufland, Lidl, Rewe, Edeka, Aldi Nord, Aldi Süd, Netto und Penny
  • Suche über aktuelle Angebote oder über alle geladenen Händler hinweg
  • Filter nach Kategorien, Aktionszeiträumen und Kalenderwochen
  • Standortabfrage und automatische Auswahl nahegelegener Filialen

### Einkaufsliste

  • Favorisierte Angebote werden als Einkaufsliste gespeichert
  • Gruppierung nach Supermarkt inklusive Artikelanzahl und Gesamtwert
  • Artikel können abgehakt, entfernt oder gesammelt gelöscht werden

### Kundenkarten-Wallet

  • Kundenkarten können per Kamera fotografiert oder aus der Galerie importiert werden
  • Darstellung als Wallet-ähnlicher Kartenstapel mit Detailansicht
  • Hinweise für zeitlich begrenzt gültige Karten-Codes, zum Beispiel bei Edeka

## Backend + Datenpipeline

Das Backend ist eine Flask-Anwendung mit MongoDB-Anbindung. Es stellt Angebotsdaten, Versionierungsinformationen, Download-Tracking und Push-Alert-Endpunkte bereit.

### Datenquellen

  • Eigene Scraper für Aldi Nord, Aldi Süd, Edeka, Kaufland, Lidl, Netto, Penny und Rewe
  • Live-Angebote über Kaufda mit Koordinatenbezug und MongoDB-Cache
  • Deduplizierung über Produkttitel, Untertitel, Packungsgröße und Grundpreis

### API

  • REST-Endpunkte für aktuelle Angebote und Live-Angebote
  • Cache-Strategie in der App über AsyncStorage und serverseitig über MongoDB
  • Version-Endpoint für Update-Prüfungen in der mobilen App

## Wunschlisten-Alerts

Nutzer können Produktnamen als Wunschlisten-Alert speichern. Die App registriert Android-Geräte über Expo Push Notifications, synchronisiert lokale Alerts mit dem Backend und prüft serverseitig, ob passende aktuelle Angebote gefunden wurden.

  • Normalisierung deutscher Suchbegriffe inklusive Umlauten
  • Matching über Titel, Untertitel und Kategorie
  • Duplikatschutz, damit derselbe Treffer nicht mehrfach verschickt wird

## Herausforderungen und Lernerfahrungen

  • Uneinheitliche Angebotsdaten mussten für verschiedene Händler normalisiert werden
  • Lokale Standort- und Filiallogik erforderte robuste Fallbacks für Web, Android und fehlende Berechtigungen
  • Mobile UX musste schnelle Suche, große Produktlisten und eine stabile Bottom-Navigation kombinieren
  • Push Notifications benötigen auf Android einen Development Build und saubere Registrierung gegen das Backend

## Einblicke

Angebote und Store-Filter
Angebote und Store-Filter
Einkaufsliste nach Supermarkt
Einkaufsliste nach Supermarkt
Kundenkarten-Wallet
Kundenkarten-Wallet