Template for a Spring Boot project including Spring REST, HATEOAS, JPA, etc. Additional details: HELP.md
For ... who want to ... the project ... is an ... that allows ... Unlike other ...
| Customer | Business | Admin |
|---|---|---|
| Register | Apply | Accept Application |
| Login | Login | Reject Application |
| Logout | Logout | |
| List Businesses | Add Product | |
| List Business Inventory | Upload Inventory | |
| Select product | Download Inventory | |
| Deselect product | Manage Stock | |
| Checkout (when and payment method) |
List Orders (by when) | |
| List orders | Cancel | |
| Process | ||
| Ready/Message | ||
| Picked/Paid | ||
| Set Loyalty Card | ||
| Cancel Loyalty Card |
classDiagram
class Admin { }
class Customer {
name
phoneNumber
}
class Basket { }
class Order {
created
serveWhen
paymentMethod
status: [received, cancelled, in process, ready, picked]
}
class Business {
id: Long
name: String
address: String
rating: Double
capacity: Integer
hasWifi: Boolean
openingTime: String
closingTime: String
status: [applied, accepted, rejected]
}
class Loyalty {
startDate
accumulatedPoints
}
class Inventory {
name
description
location
totalStock
}
class Category {
name
}
class Product {
id
name
description
price
stock
brand
size
barcode
tax
isAvailable
promotions
discount
kcal
carbs
proteins
fats
ingredients
allergens
rating
pointsGiven
pointsCost
isPartOfLoyaltyProgram
}
Customer "1" -- "1" Basket
Customer "1" -- "*" Order
Customer "1" -- "*" Loyalty
Basket "*" -- "*" Product
Order "*" -- "*" Product
Business "1" -- "*" Loyalty
Business "1" -- "*" Inventory
Inventory "1" -- "*" Product
Product "*" -- "1" Category