Java >> Java Tutorial >  >> Tag >> Stack

Techstack Framework für MieterFeedback

Als Entwickler treffen wir unterschiedliche Entscheidungen, je nachdem, was uns zur Verfügung steht und was wir wissen. Aber sind diese Entscheidungen immer besser? Sie können nicht oder sie können. Es kommt wirklich darauf an. In diesem Beitrag beschreibe ich das Techstack-Framework, das ich zum Erstellen von Mieter-Feedback verwendet habe.

Sie können meinen Beitrag lesen, wie ich auf die Idee kam, eine Anwendung für Mieter-Feedback zu erstellen.

Ich wollte den Prozess der Entscheidungen beschreiben, die ich getroffen habe, um ein Tech-Stack-Framework zum Erstellen der Anwendung auszuwählen. In Anbetracht meiner Erfahrung mit Spring Boot war dies eine Standardauswahl zum Erstellen dieser Anwendung. Es gibt andere Faktoren, die ich berücksichtigt habe, wie die einfache Codierung, die einfache Bereitstellung als Microservice-basierte Anwendung in der Cloud und Docker.

Entwicklungsrahmen für Mieter-Feedback

Bei der Entwicklung der Anwendung lag mein Fokus auf der Wiederverwendbarkeit von Code. Da ich im Rahmen dieses Blogs nur wenige Anwendungen mit Spring Boot geschrieben habe, gab es Authentifizierung, Anmeldeformulare, Anmeldeformulare, der größte Teil dieses Codes war leicht verfügbar. Eine Sache muss ich für RentersFeedback durchdenken war Datenbankmodellierung.

Datenbank-Framework für Mieter-Feedback

Für die Entwicklung einer datenbankbasierten Anwendung habe ich mysql verwendet als Entwicklungsdatenbank. In der Produktion habe ich das in postgresql geändert.

Warum Datenbankänderung?

Heroku-Unterstützung für mysql war nicht einfach, also bevorzugte ich das, was standardmäßig verfügbar war, und es war postgresql . Ich muss ein paar Änderungen an MySQL-Skripten vornehmen. Ich hätte diese Skripte durch liquibase automatisieren können, aber ich zog es vor, dies für die erste Version des Produkts nicht zu tun. Wenn ich in Zukunft weitere Änderungen am Datenbankmodell vornehmen möchte, werde ich liquibase-basierte Skripte hinzufügen.

Authentifizierungsschema

Es gab einige Fragen dazu, warum sich ein Benutzer bei einem RentersFeedback anmelden muss Webseite. Nun, jemand muss diese Bewertungen veröffentlichen, bevor die Leute sie durchsuchen können. Sie müssen sich anmelden, wenn Sie eine Bewertung abgeben möchten.

Die einfachste Wahl war die formularbasierte Anmeldung, obwohl sie veraltet und nicht sicher ist. Ich glaube immer noch, dass die meisten Benutzer E-Mail verwenden würden, um sich anzumelden. Benutzerpasswörter werden in einem verschlüsselten und gehashten Format in der Datenbank gespeichert.

Ein weiterer Mechanismus, den ich hinzufügen wollte, war OAuth2 OpenId Protokoll, indem Sie Google API für dasselbe verwenden. Es war einfach zu implementieren und etwas, in dem ich Erfahrung habe.

Ich könnte andere soziale Logins hinzufügen, aber ich halte es lieber einfach und falls nötig, werde ich diese Logins in Zukunft hinzufügen.

Mit der Google API habe ich Redis Cache verwendet. Ich hatte nicht vor, den Cache zu verwenden, da sich die Anwendung noch in der Anfangsphase befindet, aber jetzt ist sie da, sodass die zukünftige Skalierung aus Leistungssicht einfacher wäre.

Benutzeroberfläche

Die Benutzeroberfläche wurde mit von Spring Boot bereitgestellten Thymeleaf-Vorlagen zusammen mit der Bootstrap-CSS-Bibliothek und der JavaScript-Bibliothek von Twitter erstellt. Für die Suchfunktion habe ich die Javascript-Bibliothek der Google-Such-APIs verwendet.

Nachdem ich die Anwendung auf Heroku bereitgestellt hatte, stieß ich auf einige Probleme mit der öffentlichen Verfügbarkeit von Formularen. Um Spam zu vermeiden, werde ich diesen Formularen ein Captcha hinzufügen. Ich werde im nächsten Beitrag zeigen, wie man reCaptcha-APIs verwendet.

Damit Benutzer das Kennwort zurücksetzen können, habe ich das Spring Boot-E-Mail-System verwendet. Dies war eine einfache Implementierung, sobald Sie wissen, wie der forgot your password Flow funktioniert.

Bereitstellungsumgebung

Ich habe Heroku verwendet, um meine Anwendung bereitzustellen. Heroku hat eine großartige Dokumentation. Es ist sehr einfach, mit Ihrem GitHub-Repository zu synchronisieren. Wenn Sie also Ihre Änderungen auf GitHub übertragen, werden sie synchronisiert, um sie auf Heroku zu erstellen und bereitzustellen.

Fragen

Die Auswahl des richtigen Tech-Stack-Frameworks für Ihre Anwendung kann eine schwierige Aufgabe sein, wenn Sie Anfänger sind. Da ich Erfahrung in der Erstellung von Anwendungen habe, war die Wahl dieses Techstack-Frameworks für Mieter-Feedback eine einfache Wahl. Wenn Sie Fragen zur Implementierung haben, warum ich bestimmte Technologien verwendet habe und wie sie verbessert werden können, können Sie einen Kommentar in diesem Blog posten, und ich werde diese Fragen beantworten.


No
Java-Tag