Mein neues Projekt: Webapp mit Vue.js, NestJS & Supabase
Vor ein paar Tagen kam mir beim Training im Fitnessstudio der Gedanke, dass ich zwar seit Jahren (mehr oder weniger) regelmäßig trainiere, dabei meine Trainings jedoch nie über einen längeren Zeitraum dokumentiert habe. Wir haben in unserem GYM einen kleinen Schrank, auf dem steht eine Box mit Zetteln und darauf kann man pro Gerät seine Wiederholungen und Sets festhalten. Seit Jahren sehe ich diese Zettel, genutzt habe ich sie nie. Ein paar Wochen lang hatte ich mal eine Notizen-App auf meinem Handy dafür verwendet, doch war das Eintragen der Werte irgendwie mehr als müßg und eine Auswertung fand letzten Endes auch nicht statt.
Und so dachte ich mir: Das kann ich doch irgendwie besser machen. Geboren war die Idee einer eigenen, kleinen Webapp.
Berufsbedingt habe ich in meinem Arbeitsalltag schon ständig mit Backends, Frontends und irgendwie auch Datenbanken zu tun, doch habe ich so etwas noch nie "from scratch" selbst aufgebaut. Zumindest nicht so konsequent, wie es eigentlich sein könnte müsste.
Mit einem Kumpel habe ich dann bei einem Bierchen darüber philosophiert, wie man die Dienste von Google Firebase nutzen könnte, ohne von Google abhängig zu sein. Er sagte nur das Schlagwort "Supabase" - und ich erinnerte mich an einen Moment von vor ein paar Jahren, als ich auf der Suche nach einer Lösung zu einem ähnlichen Problem war. Damals war ich bereits über Supabase gestolpert, doch konnte ich es dort nicht verwenden.
Und so startete ich dann mit dem Backend, einer NestJS Framework JavaScript Node.js Anwendung, die ich aktuell bei netcup.de hoste. Ich konnte relativ schnell Daten in meinen Datenbanktabellen speichern und modifizieren, das Auslesen ging ebenfalls leicht von der Hand. Nach und nach erweiterte sich der Funktionsumfang und ich war erstaunt, wie schnell man etwas Lauffähiges auf die Beine gestellt bekommt.
Dann werkelte ich noch ein paar Tage an einem Frontend, einer Vue.js JavaScript Webapp, die mit Tokens zur Benutzerauthentifizierung beim Backend nach Daten fragt oder "um Erlaubnis bittet", Werte ändern zu dürfen. Das Backend selbst (im Grunde genommen die API) arbeitet im Hintergrund mit einem Service-Token, damit das Backend nicht mit den Tokens des Users durcheinander kommt.
Nach ein paar Tagen Arbeit habe ich mir dann noch schnell eine .de Domain reserviert: www.gymsnap.de
Der MVP ist aktuell noch nicht fertig, doch gehe ich hier ganz locker mit einem Startup-Gedanken an die Sache: Lieber veröffentlichen und regelmäßig mit Updates versorgen, als die nonplusultra Lösung zu entwickeln und nie fertig zu werden. Denn fertig wird man in der Softwareentwicklung sowieso nie. Es gibt immer etwas zu tun, packen wir's an!
Bis zum nächsten Beitrag 😊