Dealradar
Kurzinfo
Themenbereich
Softwareentwicklung
Lernende/r
Jeremy Nelson
Lehrbetrieb
Suva
Betreuer
Manuel Gut
Projekt-Website
dealradar.technify.appAufgabenstellung
Meine Idee war es, eine Website zu erstellen, auf der man Preise von Produkten tracken kann. Ursprünglich wollte
ich verschiedene Websites scrapen, habe mich dann aber entschieden, nur Interdiscount zu tracken. Die Ziele
waren:
- Preise von Produkten können getrackt werden.
- Der Preisverlauf wird grafisch dargestellt.
- Produkte können zur Wunschliste hinzugefügt werden.
- Es gibt eine Benachrichtigung bei Preisänderungen.
- Ein Bewertungssystem zeigt, wie gut der aktuelle Preis ist.
Ergebnisse
Was habe ich realisiert und was funktioniert? Man kann eine URL hinzufügen, die dann gescraped wird. Der Preis
wird jeden Tag aktualisiert, und die Daten werden in einer Datenbank gespeichert. Produkte können zur
Wunschliste hinzugefügt werden, und das Bewertungssystem funktioniert.
Nicht erreicht:
Die Benachrichtigung bei Preisänderungen wurde nicht umgesetzt, da ich mich auf andere Funktionen konzentriert
habe.
Lösungskonzept
Der erste Schritt war die Entwicklung des Backends. Ich entschied mich für Python, da es über gute Bibliotheken
für Webscraping (z. B. BeautifulSoup) verfügt. Zunächst erstellte ich ein einfaches Script, um die
Funktionsfähigkeit des Scraping zu überprüfen. Nachdem dies funktionierte, entwickelte ich das Script weiter zu
einem Webserver.
Danach konzipierte und erstellte ich die Datenbank. Mit Supabase als Backend-Service richtete ich Tabellen für
Produkte, Preise und Nutzerdaten ein.
Im letzten Schritt entwickelte ich das Frontend mit Next.js, da ich das Framework besser kennenlernen wollte.
Die Benutzerauthentifizierung wurde über NextAuth realisiert, um Login und Registrierung zu vereinfachen.
Aufgetretene Probleme
Das Deployment war etwas mühsam, da ich den Webserver mit einer EC2-Instanz hoste und einen Lambda-Service habe um die Preise zu aktualiseren. Die Einrichtung war komplex und zeitaufwändig. Da ich jedoch frühzeitig mit dem Deployment begann, hatte ich keinen Zeitdruck und konnte die Probleme lösen.
Ausblick
Es ist möglich, dass ich noch weiter an diesem Projekt arbeiten werde (z.b. Support für andere Webshops (digitec, mediamarkt, etc..) oder email Benachrichtigung), aber ich bin mit dem aktuellen Stand zufrieden.