How riverify/rikky-takeaway works
Rikky Takeaway is a two-sided takeaway ordering application: staff manage employees, categories, dishes, set meals, and orders in the backend; customers register or log in, browse offerings, manage addresses and a cart, and place and review orders in the mobile-oriented frontend. The Java controllers and service layers expose these domain capabilities, backed by MySQL and Redis caching; email verification is documented. Backend implementation details beyond the sampled controllers and dish/set-meal services are represented at their existing directory paths, so their internal call wiring is not expanded.
Main entry points: controller Catalog APIs · common Shared web support · backend/api Backend UI APIs · front/api Frontend UI APIs
Components 20
Web clients
- Backend UI APIs
src/main/resources/backend/api - Frontend UI APIs
src/main/resources/front/api
HTTP access
- Employee API
src/main/java/com/fubukiss/rikky/controller/EmployeeController.java - Catalog APIs
src/main/java/com/fubukiss/rikky/controller - Customer APIs
src/main/java/com/fubukiss/rikky/controller - Orders API
src/main/java/com/fubukiss/rikky/controller/OrdersController.java
Catalog management
- Employee management
src/main/java/com/fubukiss/rikky/service/impl - Category management
src/main/java/com/fubukiss/rikky/service/impl - Dish and flavors
src/main/java/com/fubukiss/rikky/service/impl/DishServiceImpl.java - Set meal management
src/main/java/com/fubukiss/rikky/service/impl/SetmealServiceImpl.java
Customer ordering
- User accounts
src/main/java/com/fubukiss/rikky/service/impl/UserServiceImpl.java - Address book
src/main/java/com/fubukiss/rikky/service/impl - Shopping cart
src/main/java/com/fubukiss/rikky/service/impl/ShoppingCartServiceImpl.java - Order processing
src/main/java/com/fubukiss/rikky/service/impl/OrdersServiceImpl.java
Application state
- MySQL data
- Redis cache
- Shared web support
src/main/java/com/fubukiss/rikky/common
Other components
- Staff member
- Customer
- Email SMTP
Connections 31
- Staff member → Backend UI APIs: uses
- Customer → Frontend UI APIs: uses
- Backend UI APIs → Employee API: requests
- Backend UI APIs → Catalog APIs: requests
- Backend UI APIs → Orders API: requests
- Frontend UI APIs → Customer APIs: requests
- Frontend UI APIs → Catalog APIs: browses
- Frontend UI APIs → Orders API: orders
- Employee API → Employee management: manages
- Catalog APIs → Category management: manages
- Catalog APIs → Dish and flavors: manages
- Catalog APIs → Set meal management: manages
- Customer APIs → User accounts: authenticates
- Customer APIs → Address book: manages
- Customer APIs → Shopping cart: updates
- Orders API → Order processing: processes
- Employee management → MySQL data: reads/writes
- Category management → MySQL data: reads/writes
- Dish and flavors → MySQL data: reads/writes
- Set meal management → MySQL data: reads/writes
- User accounts → MySQL data: reads/writes
- Address book → MySQL data: reads/writes
- Shopping cart → MySQL data: reads/writes
- Order processing → MySQL data: reads/writes
- Dish and flavors → Redis cache: caches listings
- Set meal management → Redis cache: caches listings
- User accounts → Email SMTP: sends codes
- Shared web support → Employee API: handles errors
- Shared web support → Catalog APIs: handles errors
- Shared web support → Customer APIs: handles errors
- Shared web support → Orders API: handles errors