2023-2024 Beitrag ist aktuell in Arbeit
Wise Buys
TCG App
Eine TCG App die es so noch nicht gibt.
Ziel war es, eine App zu entwickeln, die nicht einfach nur eine Sammlung verwaltet, wie es viele andere Apps bereits tun. Stattdessen lag der Fokus darauf, Budgets, monatliche Ein- und Ausgaben sowie geplante Anschaffungen für Karten oder Sealed-Produkte übersichtlich im Blick zu behalten. Gerade im Bereich Trading Cards kann man schnell den Überblick verlieren.
Genau dabei soll die App unterstützen.
Sprachen
Die App sollte mehrere Sprachen zu verfügung haben, um einfach viele Menschen zu erreichen.
Währungen
Es sollten alle möglichen Währungen unterstützt werden und direkt on the fly umgerechnet werden zu Tages aktuellen Kursen.
Budget
Über ein Monatlich festgelegtes Budget sollte man einfach sehen können was man ausgegeben hat und wie viel noch offen ist. Oder ob man evtl. schon drüber ist.
Karten
Natürlich sollte es eine Datenbank geben, nachden man seine Karten suchen und hinzufügen kann. Diese sollte möglichst aktuell sein und auch Preisverläufe anzeigen können.
Einfach anfangen
Sommer 2023.
Zu dieser Zeit steckte ich noch mitten im Lernprozess rund um Flutter und moderne App-Entwicklung. Viele Themen wie Projektstruktur, sauberes State Management oder langfristige Wartbarkeit waren für mich noch neu. Genau das führte später auch dazu, dass die App nicht mehr öffentlich verfügbar ist.
Wise Buys war mein erstes richtiges App-Projekt und gleichzeitig mein Einstieg in die Welt der App-Entwicklung. Alles war neu, spannend und voller Möglichkeiten. Anfangs ging es dabei vor allem darum, Flutter zu verstehen und zu lernen, was rund um die Entwicklung einer App eigentlich alles dazugehört.
Und das war deutlich mehr, als ich zu Beginn erwartet hatte.
Frontend / Backend / Zweites Backend?
Nachdem ich halbwegs zufrieden mit dem Frontend war, ging es um die Speicherung der Daten. Darüber hatte ich mir anfangs noch gar nicht so viele Gedanken gemacht, weil es in erster Linie darum ging, meine eigenen Skills zu verbessern und Flutter besser zu verstehen.
Bei der Suche nach einer passenden Lösung bin ich auf Appwrite gestoßen.
Eine Plattform, mit der sich ein Backend relativ einfach aufbauen lässt. Dadurch konnte ich unter anderem Bilder hochladen und abrufen sowie verschiedene Datenstrukturen verwalten. Besonders hilfreich war dabei das vorhandene Dart-Package, das die Anbindung an das Backend gerade für den Einstieg deutlich vereinfacht hat.
Zusätzlich bot Appwrite API-Schnittstellen, die ich später genutzt habe, um die Kartendatenbank aufzubauen.
Für die Kartendatenbank selbst habe ich nach APIs gesucht, die sowohl Set-Informationen wie Erscheinungsdaten als auch einzelne Karten mit Bildern, Preisangaben und weiteren Metadaten bereitstellen konnten.
Daraus entstanden drei zentrale Teile meiner App:
Frontend App
Die Flutter-App kommuniziert über eine API-Schnittstelle mit dem Appwrite-Backend. Hier erfolgen unter anderem die Authentifizierung sowie das Laden von Karten- und TCG-Set-Informationen.
Appwrite Backend
Das Appwrite-Backend ist für die Benutzerverwaltung zuständig, einschließlich Anmeldung per E-Mail, Google und Apple Login. Zusätzlich speichert es Nutzerdaten, App-Einstellungen, das aktuelle Budget sowie geplante und bereits getätigte Käufe.
Laravel Backend
Das Laravel-Backend stellt eine API-Schnittstelle zum Appwrite-Backend bereit und übernimmt das Hinzufügen neuer Sets sowie die Aktualisierung bestehender Karteninformationen, wie beispielsweise Preis- und Metadaten.
Frontend / Backend / Zweites Backend?
Nachdem ich halbwegs zufrieden mit dem Frontend war, ging es um die Speicherung der Daten. Darüber hatte ich mir anfangs noch gar nicht so viele Gedanken gemacht, weil es in erster Linie darum ging, meine eigenen Skills zu verbessern und Flutter besser zu verstehen.
Bei der Suche nach einer passenden Lösung bin ich auf Appwrite gestoßen.
Eine Plattform, mit der sich ein Backend relativ einfach aufbauen lässt. Dadurch konnte ich unter anderem Bilder hochladen und abrufen sowie verschiedene Datenstrukturen verwalten. Besonders hilfreich war dabei das vorhandene Dart-Package, das die Anbindung an das Backend gerade für den Einstieg deutlich vereinfacht hat.
Zusätzlich bot Appwrite API-Schnittstellen, die ich später genutzt habe, um die Kartendatenbank aufzubauen.
Für die Kartendatenbank selbst habe ich nach APIs gesucht, die sowohl Set-Informationen wie Erscheinungsdaten als auch einzelne Karten mit Bildern, Preisangaben und weiteren Metadaten bereitstellen konnten.