-
Project Goals: Deliver a complete, working solution with clear team communication and testable code
-
Codebase Approach: Build from scratch, potentially reusing reviewed components from previous projects
-
Pagination: per page have 10 products maximum
-
Vision: Build an online store dedicated exclusively to high-quality Fair Trade coffee
-
User: Coffee lovers who care about quality and ethical sourcing. Environmentally conscious consumers who prefer sustainable and fair trade products.
-
Business Goal: related with the concept
Extra Features (min 1, max 3):
-
-
Ranking - top x products in the past x days
-
-
Coupon – with fixed price or percentage, with expiry date
-
-
Bundle – a bundle with options; cart-items and order-items can contain: Option? or Bundle?
-
-
Email – send email to the user when order is confirmed
-
-
Discount – send 10% discount if someone buys 10+ products
- Gift Card – not to implement; reason: is like a coupon
- Referral program – not to implement; reason: high security risks
- small feature: show if stock of a certain coffee is low
class CoffeeItem (
id: Long,
name: String,
description: String,
sweetness: SweetName,
acidity: AcidityEnum,
taste: String,
origin: OriginEnum,
processingMethos: MethodEnum,
options: List<SizeOption>,
price: Bigdecimal?,
isAvailable: Boolean,
roastLevel: RoastEnum,
createdAt: LocalDateTime,
updatedAt: LocalDateTime,
)
class Option(
id: Long,
name: String,
size: SizeEnum,
quantity: Int,
rate: ?,
product: Product,
lowStock: String?,
updatedAt: LocalDateTime,
)
class Bundle (
id: Long,
name: String,
coffeeItems: List<Long>,
discountPercentage: Double,
isActive: Boolean
)