
Fortsetzung der Geschichte über hellolawyer – ein juristisches Jobboard. In diesem Beitrag erzähle ich, welche technischen Entscheidungen getroffen wurden (schlechte)
Die erste Idee war, einen Telegram-Bot zu erstellen, der Stellenangebote personalisiert basierend auf ausgewählten Interessen und Filtern postet: Standort, Position, Format, Rechtsgebiete.
Es wurde beschlossen, zwei Repositories zu erstellen: eines für den Bot, eines für die Backend-Logik.
Boy oh boy, it was a mistake.
1. Problematisches Deployment – es musste ein Deployment für zwei Repositories realisiert werden.
2. Netzwerkaufrufe und Verträge – die Netzwerkverbindung zwischen zwei Containern musste eingerichtet werden. Ja, einfach docker network, aber es musste gemacht werden.
3. Doppelte Datenmodelle.
Besonders hervorzuheben ist der Versuch, ein neues cooles Tool für die Datenbankarbeit zu verwenden – edgedb (jetzt www.geldata.com unter der Ägide von Vercel) – damals war es noch in der Beta. Am Ende haben wir auf asyncpg umgestellt 😎
4. Refactorings. Wie unzufrieden ich mit dem geschriebenen Code war. Aber er funktionierte und erfüllte seinen Zweck: Es kamen Nutzer. Aber der Ingenieur starb nicht und wollte alles umschreiben. In den drei Jahren des Bestehens erschien sogar eine v2 der API 😰
Dann beschlossen wir, einen Web-Client zu machen...
Wieder einmal, nachdem ich mir viele trendige YouTube-Videos angesehen hatte, nahm ich nextjs. Und natürlich mussten all diese Anfragen wieder an das Backend weitergeleitet werden. Zum Glück wusste ich zu diesem Zeitpunkt bereits von openapi a.k.a swagger. Wenigstens konnte ich weniger Anfragen an dieses Backend schreiben.
Dann begann eine neue Ära. Die Ära der Arbeit an der UI, genauer gesagt an den Stellenkarten. Wie sehr wollten wir alles dort unterbringen, damit sie glänzen und schön sind. Und natürlich gab es wieder Versuche, die Views und Komponenten zu refaktorieren 💪
Fortsetzung folgt ☕️
Das Bild wurde freundlicherweise von ChatGPT generiert.
Kommentare
0Noch keine Kommentare.
Melde dich an, um mitzudiskutieren.