In diesem Projekt wird die Sprache JavaScript mit dem Framework NodeJS im Rahmen des QQ2-Projekts Eignung von Programmiersprachen und Frameworks für Microservices getestet.
Dafür werden die nachfolgenden Aufgaben erledigt:
-
- Einrichtung (Entwicklungsumgebung, Datenbank-System)
-
- Datenbank-Anbindung (Objekt Student mit den Attributen (Vorname, Nachname, Matrikelnummer, Studiengang, Semester und E-Mail wenn möglich mit ORM)
-
- REST Schnittstelle (Anlegen/Ändern/Löschen eines neuen Studenten, Ausgeben einer Liste aller Studenten, Ausgeben eines Studenten)
-
- Logging (Jede CRUD-Operation über bereitgestellten Apache Kafka (Publish-Subscribe) protokollieren)
URI | HTTP-Verb | Request-Body | Beschreibung |
---|---|---|---|
/students | GET | Anzeigen aller Studenten | |
/students/{id} | GET | Anzeigen eines Studenten | |
/students | POST | {first_name: <string>, last_name: <string>, matriculation_number <integer>, course: <string>, email: <string>} |
Anlegen eines neuen Studenten |
/students/{id} | PATCH | {attribute: <new_value>} |
Ändern eines Studenten |
/students/{id} | DELETE | Löschen eines Studenten |
Hinweis: Bei allen anderen Routen wird 404 zurückgeliefert!
Damit das Projekt nicht erst heruntergeladen werden muss, wird der Stand vom master
-Branch auf Heroku unter https://qq2-nodejs.herokuapp.com/ gehostet.
Zum Testen bitte die oben in der Tabelle angegebenen Routen aufrufen z. B. https://qq2-nodejs.herokuapp.com/students führt ein GET aus und lädt damit alle Studenten.
Um das Projekt auszuführen müssen folgende Programme auf dem System installiert sein:
Am einfachsten ist es, dass Projekt mit dem nachfolgenden Befehl herunterzuladen:
> git clone https://github.com/rudolfgrauberger/qq2-eignung-nodejs-fuer-microservice.git
Mit den nachfolgenden Befehlen wechselt man in das gerade ausgecheckte Verzeichnis und installiert alle benötige Pakete.
> cd qq2-eignung-nodejs-fuer-microservice
> npm install
Das geht am einfachsten mit dem Befehl:
> npm start
Danach erreich man im Browser unter http://localhost:8080/students die Route für die REST-API.