[MM_02, MM_04] Lunch-Cards bewerten und kommentieren
[MM_02] Als <user> möchte ich eine Lunch-Card mit 1-5Sternen bewerten können
[MM_04] Als <user> möchte ich Kommentare für eine Lunch-Card geben können
Anforderungen
Update (06.05.20): Zwei Entitys und getrennte Routen für Bewertungen und Kommentare
- Entity
CafeteriaComment:- Primärschlüssel (generiert)
- Gericht (
Stringder vom Client kommt) - das wird vlt. schwierig, weil wir kein Entity für die Gerichte haben - Author (
User) - Kommentar als
String - Erstellungsdatum
- Entity
CafeteriaRating:- Primärschlüssel (generiert)
- Gericht (
Stringder vom Client kommt) - das wird vlt. schwierig, weil wir kein Entity für die Gerichte haben - Author (
User) - Bewertung als
int - Erstellungsdatum
- Zwei Repositorys
- Service (z.B.
CafeteriaFeedbackService) mit quasi den drei Methoden vonEventServicevon Think Big:createNewComment()createNewRating()getAverageRatingForCafeteriaItem()getNumberOfRatingsForCafeteriaItem()-
List<CafeteriaComment getCommentsForCafeteriaItem()absteigend nach Datum
- Controller (
CafeteriaFeedbackController)GET /cafeteria/ratings-
POST /cafeteria/ratings(IDs im Body) GET /cafeteria/comments-
POST /cafeteria/comments(IDs im Body)
- DTOs
-
CafeteriaCommentInputDtomit Validierung exakt wie beiFeedbackDtonur ID natürlich String-
String cafeteriaItemals ID String comment
-
-
CafeteriaRatingInputDtomit Validierung exakt wie beiFeedbackDtonur ID natürlich String-
String cafeteriaItemals ID int rating
-
-
CafeteriaCommentOutputDtomit folgenden Feldern:String commentDate createdAt-
String user(hier reicht erstmal der Anzeigename)
-
CafeteriaFeedbackOutputDtomit folgenden Feldern:float avgRatingint ratings-
List<CafeteriaCommentOutputDto> commentsabsteigend sortiert nach Datum
-
Edited by Robert Palm