How haikalazhari/coffeehub works
CoffeeHub is a JavaFX desktop system for coffee-shop operations, with Admin and Customer workflows. Customers browse products, manage a cart, check out with cash, and review order history; Admins manage products, categories, stock, orders, and cash-payment status. The graph includes the database-backed data layer and in-memory cart/session services. Some controllers and UI wiring were not sampled; links for those workflows rely on README descriptions, not inspected controller implementations.
Main entry points: ProductDAO.java Product data access · OrderDAO.java Order data access · DatabaseConnection.java JDBC connection · CustomerCheckoutController.java Cash checkout
Components 22
Desktop workflows
- Application entry
src/main/java/com/voidsyntax/coffeehub/Main.java - Login and registration
src/main/java/com/voidsyntax/coffeehub/controller
Customer ordering
- Product catalog
src/main/java/com/voidsyntax/coffeehub/controller/CustomerController.java - Shopping cart
src/main/java/com/voidsyntax/coffeehub/controller/CustomerCartController.java - Cash checkout
src/main/java/com/voidsyntax/coffeehub/controller/CustomerCheckoutController.java - Order history
src/main/java/com/voidsyntax/coffeehub/controller/CustomerOrdersController.java
Admin operations
- Admin dashboard
src/main/java/com/voidsyntax/coffeehub/controller/AdminController.java - Product management
src/main/java/com/voidsyntax/coffeehub/controller/ProductsController.java - Category management
src/main/java/com/voidsyntax/coffeehub/controller/CategoriesController.java - Stock management
src/main/java/com/voidsyntax/coffeehub/controller/StockController.java - Order and payment management
src/main/java/com/voidsyntax/coffeehub/controller/OrdersController.java
Services and data
- Cart state
src/main/java/com/voidsyntax/coffeehub/service/CartManager.java - User session
src/main/java/com/voidsyntax/coffeehub/service/SessionManager.java - User service
src/main/java/com/voidsyntax/coffeehub/service/UserService.java - Product data access
src/main/java/com/voidsyntax/coffeehub/repository/ProductDAO.java - Category data access
src/main/java/com/voidsyntax/coffeehub/repository/CategoryDAO.java - Order data access
src/main/java/com/voidsyntax/coffeehub/repository/OrderDAO.java - User data access
src/main/java/com/voidsyntax/coffeehub/repository/UserDAO.java - JDBC connection
src/main/java/com/voidsyntax/coffeehub/config/DatabaseConnection.java - CoffeeHub database
database/coffeehub.sql
Other components
- User
- MariaDB server
Connections 27
- User → Application entry: launches
README.md - User → Login and registration: signs in
README.md - User → Admin dashboard: uses admin
README.md - User → Product catalog: browses
README.md - User → Shopping cart: manages cart
README.md - User → Cash checkout: checks out
README.md - User → Order history: reviews orders
README.md - Admin dashboard → Product data access: loads summaries
src/main/java/com/voidsyntax/coffeehub/controller/AdminController.java - Admin dashboard → Category data access: loads summaries
src/main/java/com/voidsyntax/coffeehub/controller/AdminController.java - Admin dashboard → Order data access: loads summaries
src/main/java/com/voidsyntax/coffeehub/controller/AdminController.java - Product management → Product data access: manages products
src/main/java/com/voidsyntax/coffeehub/controller/ProductsController.java - Category management → Category data access: manages categories
src/main/java/com/voidsyntax/coffeehub/controller/CategoriesController.java - Stock management → Product data access: updates stock
src/main/java/com/voidsyntax/coffeehub/controller/StockController.java - Order and payment management → Order data access: manages orders
src/main/java/com/voidsyntax/coffeehub/controller/OrdersController.java - Product catalog → Product data access: loads catalog
src/main/java/com/voidsyntax/coffeehub/controller/CustomerController.java - Shopping cart → Cart state: manages items
src/main/java/com/voidsyntax/coffeehub/controller/CustomerCartController.java - Cash checkout → Cart state: reads cart
src/main/java/com/voidsyntax/coffeehub/controller/CustomerCheckoutController.java - Cash checkout → Order data access: creates order
src/main/java/com/voidsyntax/coffeehub/controller/CustomerCheckoutController.java - Cash checkout → Product data access: checks products
src/main/java/com/voidsyntax/coffeehub/controller/CustomerCheckoutController.java - Order history → Order data access: loads history
src/main/java/com/voidsyntax/coffeehub/controller/CustomerOrdersController.java - User service → User data access: authenticates users
src/main/java/com/voidsyntax/coffeehub/service/UserService.java - Product data access → JDBC connection: opens connection
src/main/java/com/voidsyntax/coffeehub/repository/ProductDAO.java - Category data access → JDBC connection: opens connection
src/main/java/com/voidsyntax/coffeehub/repository/CategoryDAO.java - Order data access → JDBC connection: opens connection
src/main/java/com/voidsyntax/coffeehub/repository/OrderDAO.java - User data access → JDBC connection: opens connection
src/main/java/com/voidsyntax/coffeehub/repository/UserDAO.java - JDBC connection → MariaDB server: connects via JDBC
src/main/java/com/voidsyntax/coffeehub/config/DatabaseConnection.java - MariaDB server → CoffeeHub database: stores records
README.md