Skip to content
Snippets Groups Projects
user avatar
Sercan Yesildal authored
e681b936
History

MealPlanner2Go

MealPlanner2Go ist eine Schnittstelle zur Erstellung von Einkaufslisten innerhalb einer Gruppe oder für sich. Hierzu werden vom Nutzenden Einkaufstage und Mahlzeiten festgelegt und die Applikation erstellt zugeschnittene Einkaufslisten für die jeweiligen Tage.

Starten (mit Docker Compose)

Services bauen und starten

Mit diesen Befehlen werden die Services der Applikation lokal gestartet.

docker compose build && docker compose up

Services stoppen und entfernen

Mit diesem Befehl wird der Service entfernt. Volumes bleiben bestehen.

docker compose down

Ungenutzte Volumes löschen

Mit diesem Befehl werden alle ungenutzten Volumes entfernt.

docker volume prune

Nutzung der API

Nutzerfunktionen

Nutzer erstellen

curl -H "Content-Type: application/json" -d '{"mail":"max.mustermann@gmail.com","firstName":"Max","lastName":"Mustermann"}' localhost:8000/user

Nutzer abrufen

curl localhost:8000/user/1

Nutzerliste abrufen

curl localhost:8000/user

Nutzer aktualisieren

curl -X PUT -H "Content-Type: application/json"  -d '{"mail":"max.mustermann@gmail.com","firstName":"Max","lastName":"Mustermann"}' localhost:8000/user/1

Nutzer entfernen

curl -X DELETE localhost:8000/user/1

Einkaufstage hinzufügen

curl -H "Content-Type: application/json" -d '{"userId":1,"date":"2023-07-12"}' localhost:8000/user/date

Einkaufstage entfernen

curl -X DELETE localhost:8000/user/date/1

Gericht hinzufügen

curl -H "Content-Type: application/json" -d '{"userId":1,"mealId":52992,"date":"2023-07-12"}' localhost:8000/user/meal

Gericht entfernen

curl -X DELETE localhost:8000/user/meal/1

Gericht favorisieren

curl -H "Content-Type: application/json" -d '{}' localhost:8000/user/1/52992

Gericht entfavorisieren

curl -X DELETE localhost:8000/user/1/52992

Einkaufsliste abrufen

curl localhost:8000/user/list/1

Gruppenfunktionen

Gruppe erstellen

curl -H "Content-Type: application/json" -d '{"name":"Enterprise Development"}' localhost:8000/group

Gruppe abrufen

curl localhost:8000/group/1

Gruppenliste abrufen

curl localhost:8000/group

Gruppe entfernen

curl -X DELETE localhost:8000/group/1

Gericht hinzufügen

curl -H "Content-Type: application/json" -d '{"groupId":1,"mealId":52992,"date":"2023-07-12"}' localhost:8000/group/meal

Gericht entfernen

curl -X DELETE localhost:8000/group/meal/1

Nutzer hinzufügen

curl -H "Content-Type: application/json" -d '{}' localhost:8000/group/1/1

Nutzer entfernen

curl -X DELETE localhost:8000/group/1/1

Gerichtfunktionalitäten (interne Kommunikation über gRPC)

Zufälliges Gericht abrufen

curl localhost:8000/meal/random

Bestimmtes Gericht abrufen

curl localhost:8000/meal/53043

Nach Gerichten suchen

curl localhost:8000/meal/search/eggplant

Kategorien einsehen

curl localhost:8000/meal/category

Nach Kategorien filtern

curl localhost:8000/meal/category/beef

Orte einsehen

curl localhost:8000/meal/area

Nach Orten filtern

curl localhost:8000/meal/area/american

Zutaten einsehen

curl localhost:8000/meal/ingredient

Nach Zutaten filtern

curl localhost:8000/meal/ingredient/chicken