Skip to content
This repository has been archived by the owner on Sep 14, 2021. It is now read-only.
/ dish-rest-order Public archive

Spring Boot app to order dish in restaurant to have a lanch at

Notifications You must be signed in to change notification settings

dosovma/dish-rest-order

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Restaurant voting app

  • ver app 1
  • ver readme 1

Resources

REST documentation

Auth details:

Admin:

User:

Functional

Implemented:

Voting:

  • CRUD
  • plus you can get vote's history by user filtered by date

Restaurants:

  • CRUD
  • get all restaurants with or without menu
  • get one restaurant with or without menu

Dishes:

  • CRUD
  • You can't delete the dish, only make it disable

Users (only for an admin):

  • CRUD

Account for user:

  • CRUD (create new user by /register)
  • get vote's history filtered by date

NOT implemented:

  • cache hibernate
  • validate password length due to encode

Project description

Stack

Spring Boot Spring MVC Spring Data JPA H2

Architecture

  • DB
  • Model
  • Repository
  • To and Util
  • RestController

Admin permissions

Admin:

  • CRUD users include role
  • CRUD dishes
  • CRUD restaurants
  • CRUD menus
  • CRUD votes

User permissions:

User can work with urls:

  • /account
  • /account/votes
  • /account/votes/{\d+}
  • /restaurants
  • /restaurants/{\d+}
  • /restaurants/{\d+}/menus
  • /votes/**

Account (/account):

  • registering
  • CRUD own account
  • get vote's history

Restaurants and menus (/restaurants):

  • get restaurants with or without menus
  • user can't get menus without restaurant

Vote:

  • CRUD

Future features (russian)

  • Выделить гранд админа и админа ресторана, который работает только с данными ресторана (имя, меню, еда).
  • Запретить редактировать меню и еды прошлых периодов для обычного админа, только гранд админ.
  • Запретить удалять последнего админа - оставлять систему без админов.
  • Запретить менять меню или еду, включенную в меню, сегодня после какого то времени, например 9-00. Чтобы не получилось, что пользователи голосовали за одно меню, а в нем потом подменили еду.
  • Запретить удалять любые сущности, только делать их активными/неактивными.
  • Доработать смену/сброс пароля - через получение ссылки и введения нового пароля или через указание старого и нового пароля. Главное, чтобы пароль не отправлялся каждый раз в боди при апдейте.

About

Spring Boot app to order dish in restaurant to have a lanch at

Topics

Resources

Stars

Watchers

Forks

Languages