Skip to content

zenuralimov/restaurant-voting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codacy Badge image

  • Spring Boot
  • Spring Data JPA
  • Jackson
  • Lombok
  • Mapstruct
  • H2 Database
  • Liquibase
  • JUnit 5
  • Swagger/ OpenAPI 3.0

The task is:

Design and implement a REST API without frontend.

Build a voting system for deciding where to have lunch.

  • 2 types of users: admin and regular users
  • Admin can input a restaurant and it's lunch menu of the day (2-5 items usually, just a dish name and price)
  • Menu changes each day (admins do the updates)
  • Users can vote on which restaurant they want to have lunch at
  • Only one vote counted per user
  • If user votes again the same day:
    • If it is before 11:00 we assume that he changed his mind.
    • If it is after 11:00 then it is too late, vote can't be changed
  • Each restaurant provides a new menu each day.

  • Run: mvn spring-boot:run in root directory.

REST API documentation

Description:

1. Аny user can view all restaurants with food for today:

image

2. Authorized (regular) user can vote for a restaurant:

image

3. Admin can manage restaurants and food:

image