Giter Club home page Giter Club logo

hangman's Introduction

Hangman

This project was done for the course Distributed Systems & Blockchain 1 at the OST University of Applied Sciences.

Description

This is a distributed implementation of the game Hangman. The server runs on Express. The front-end was implemented using server-side rendering. MongoDB was used as database and Traefik as load balancer. All Services run in Docker. The Authentication was implemented using JWT.
If a player correctly guesses a word, his score is incremented by one. The ranking displays the top five players. The game is lost, when seven characters were wrongly guessed.

Start

Development

docker-compose up

Starts MongoDB and Traefik.

npm run startexpress

Starts the hangman service. This way, the database and the load-balancer do not have to be restarted when working on the back-end. Hangman is available under http://www.localhost:80 (via load-balancer).

Production

docker-compose -f docker-compose.production.yml up or npm run production

Starts MongoDB, Traefik and two instances of the hangman service. Hangman is available under http://www.localhost:80 (via load-balancer).

hangman's People

Contributors

lemontree42 avatar jonupp avatar

Watchers

 avatar

hangman's Issues

Nice2HaveFeatures

Joel

  • Logout
  • Name anzeigen in Home
  • Score anzeigen in Home
  • Fehlermeldungen schön anzeigen

Jonas

  • Word Service implementieren (verschiedene Wörter)
  • Ranking fixen
  • Score updaten wenn richtig erraten

14.04.2021

  • Was ist, wenn ein JWT valide ist aber die dazugehörige PlayerId nicht in der Datenbank ist (tritt nur auf, wenn man die Datenbank zurücksetzt ohne das JWT zurückzusetzen)? (Im Moment gibt es eine Exception)
  • Healthcheck in docker-compose einfügen

Jonas

  • Login Fenster schöner machen und h1 soll abstand nach unten haben bei allen Fenstern
  • Eigener Code schön machen
  • Testen der Applikation wenn einfache Fehler gefunden beseitigen sonst aufschreiben

Joel

  • Fusszeile sieht bei Game anders aus als sonst soll überall aussehen wie bei Game
  • Eigener Code schön machen
  • Testen der Applikation wenn einfache Fehler gefunden beseitigen sonst aufschreiben

07.04.2021

Joel:

  • 2 Express Instanzen in docker-compose aufnehmen und schauen ob alles funktioniert
  • Schriftart ändern
    Jonas:
  • Datenbank und DataStores ändern
  • Hangman Bild beim Endgame anzeigen

3.3.2021

Jonas

  • Express Projekt generieren und auf Typescript/ES6 umbauen
  • Testing aufsetzen inklusive Pipeline (wenn man committed werden automatisch Tests ausgeführt)

Joel

  • Wireframes aller Seiten erstellen
  • Domain Model

10.3.2021

Jonas

  • Front-End HBS/CSS Files implementieren (wenn anderer fertig kann dieser mithelfen)

Joel

  • HTML Routen definieren
  • MongoDB einrichten und Konfiguration festlegen (Script zur Generierung der Datenbank inkl. Collections) und Verbindung mit Express

18.03.2021

  • MongoDB als Docker-Container konfigurieren und start Skript entsprechend anpassen, dass via Docker MongoDB Container gestartet wird

Jonas:

  • Style Clean-Up: Alles löschen was mit mobile zu tun hat nur noch Desktop Style

Joel:

21.04.2021

Jonas

  • Healthcheck für Express

Joel

  • Expiration Zeit für JWT von einem Tag
  • Open Module entfernen

Username und Password requirements

Username:
mehr als oder gleich 3 Zeichen

Passwort:
mehr als oder gleich 6 Zeichen

Jonas:

  • Username & Passwort Validierung Back-End
  • Beim login soll letztes Spiel falls vorhanden ins Cookie geladen werden (falls kein Spiel vorhanden, leeres Cookie)
  • Beim logout soll das Cookie mit dem letzten Spiel gelöscht werden

Joel:

  • Username & Passwort Validierung Front-End (Formular)
  • npm scripts löschen die nicht gebraucht werden

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.