Grüne Wiese: MERN, MEAN, MEVN oder doch was anderes?

Hendoul

Commander
Registriert
Apr. 2008
Beiträge
2.093
Hi :)

Ich möchte gerne eine Website von Grund auf mal selber bauen, mit allem was dazugehört. Bei dem Projekt geht es mir Hauptsächlich um den Lerneffekt, mit dem evtl. schönen Nebeneffekt das was brauchbares dabei rauskommt.
Als Thema habe ich mir folgendes ausgesucht -> Website einer Brettspielgruppe.

Funktionsumfang Pi mal Daumen:
  • Login (mit Rollen)
  • Erfassung einer Gruppe zu der man Spieler hinzufügen kann
  • Erfassung von gespielten Spielen mit Rängen
  • Wertung von gespielten Spielen
  • ELO-System pro Gruppe
  • Bilder Upload zu den Spielen
  • diverse Statistiken mit Graph
  • Suche

Meine Kenntnisse:
  • Java
  • Javascript
  • Angular, Vue
  • HTML, CSS
  • SQL

Die erste Frage die sich mir gestellt habe ist, ob ich als Backend Java einsetzen soll/möchte oder es mal mit einem NodeJs-Backend probieren soll?

Die zweite Frage wäre dann mit welchem Frontend-Framework. Ich habe ca. 5 Jahre Angular Erfahrung. Allerdings 3 davon mit dem alten AngularJS und das letzte Mal Angular habe ich vor knapp 2 Jahren verwendet. Ich habe auch Erfahrung mit RxJS gemacht, muss aber ehrlich sagen, dass mir das irgendwie zum Teil zu komplex war.
Aktuell arbeite ich ganz wenig mit Vue. React habe ich keinerlei Erfahrung.

Datenbank? SQL oder MongoDB?
GraphQL?
ElasticSearch/Lucene?

Auch wenn auf einige Technologien vielleicht "Mit Kanonen auf Spatzen schiessen" zutrifft möchte ich doch einige einfach einsetzen um etwas dazuzulernen.

Zu was für einem Setup würdet ihr greifen in meiner Situation? Was könnt ihr empfehlen?
 
Da du noch nie React verwendet hast, nimm React. Damit kann man eigentlich nichts falsch machen. Als Build-Framework würde ich Vite oder Next.js nehmen.
Fürs Backend würd ich Fastify hernehmen. Ob du jetzt eine relationale DB wie PostgreSQL oder einen Document Store wie MongoDB hernimmst hängt von deinen Präferenzen ab. Für Fastify gibt es Plugins für die meisten DBs.

Für Authentifizierung/Authorisierung kannst du einfach https://github.com/panva/node-oidc-provider/ integrieren.
 
Zuletzt bearbeitet:
Zurück
Oben