How iloveflo/laptrinh_java works
BDTHD is a Java Swing clothing-store system backed by MySQL. Its main customer journey runs from sign-in and role selection through product browsing, cart management, and order placement; staff and administrators use separate management screens for inventory, invoices, people, and reporting. The graph includes major README capabilities even where source was not sampled. Edges are limited to relationships visible in excerpts or the source index, plus README-documented capabilities; unsampled internals are not inferred.
Main entry points: Menu.java Admin menu · KhachhangForm.java Customer portal · Start.java Sign-in screen · AuthService.java Authentication
Components 29
Access & Accounts
- Application entry
src/Main.java - Sign-in screen
src/GUI/Start.java - Authentication
src/BackEnd/AuthService.java - Session state
src/BackEnd/SessionManager.java - Registration
src/BackEnd/RegisterService.java - Password & OTP
src/BackEnd/QuenMatKhauService.java
Customer Shopping
- Customer portal
src/GUI/KhachhangForm.java - Product browsing
src/GUI/SanphamKH.java - Shopping cart
src/GUI/Giohang.java - Order placement
src/GUI/Khachhangdathang.java - Shopping guides
src/GUI/Huongdanchonsize.java - Customer support
src/GUI/Lienhehotro.java
Store Operations
- Admin menu
src/GUI/Menu.java - Staff portal
src/GUI/NhanvienForm.java - Product management
src/GUI/Sanpham.java - Invoice screens
src/GUI/Hoadonban.java - People management
src/GUI/Khachhang.java - Sales reports
src/GUI/Thongke.java - Best sellers
src/GUI/Mathangbanchay.java - Low-stock items
src/GUI/Mathangsaphet.java
Business Services
- Product data
src/BackEnd/Sanphamdata.java - Cart service
src/BackEnd/GioHangService.java - Order processing
src/BackEnd/DatHangProcessor.java - Invoice services
src/BackEnd/HoaDonBanService.java - Customer & staff data
src/BackEnd/KhachhangData.java
Persistence & Integrations
- MySQL database
- JDBC connection
src/BackEnd/ketnoiCSDL.java - Email delivery
Other components
- Store user
Connections 34
- Store user → Application entry: starts
src/Main.java - Application entry → Sign-in screen: opens
src/Main.java - Store user → Sign-in screen: signs in
README.md - Sign-in screen → Authentication: delegates
src/GUI/Start.java - Authentication → Session state: sets session
src/BackEnd/AuthService.java - Authentication → Admin menu: opens admin
src/BackEnd/AuthService.java - Authentication → Customer portal: opens customer
src/BackEnd/AuthService.java - Sign-in screen → Registration: offers registration
README.md - Sign-in screen → Password & OTP: offers recovery
README.md - Store user → Customer portal: shops
README.md - Customer portal → Product browsing: shows
src/GUI/KhachhangForm.java - Customer portal → Shopping cart: opens
src/GUI/KhachhangForm.java - Customer portal → Order processing: invokes
src/GUI/KhachhangForm.java - Customer portal → Shopping guides: opens
src/GUI/KhachhangForm.java - Product browsing → Product data: reads products
src/GUI/SanphamKH.java - Product browsing → Cart service: adds items
src/GUI/SanphamKH.java - Shopping cart → Cart service: manages cart
src/GUI/Giohang.java - Cart service → Session state: reads account
src/BackEnd/GioHangService.java - Admin menu → Product management: opens
src/GUI/Menu.java - Admin menu → Invoice screens: opens
src/GUI/Menu.java - Admin menu → People management: opens
src/GUI/Menu.java - Admin menu → Sales reports: opens
src/GUI/Menu.java - Admin menu → Best sellers: opens
src/GUI/Menu.java - Admin menu → Low-stock items: opens
src/GUI/Menu.java - Staff portal → Low-stock items: opens
src/GUI/NhanvienForm.java - Product management → Product data: manages
src/GUI/Sanpham.java - Invoice screens → Invoice services: uses
src/GUI/Hoadonban.java - People management → Customer & staff data: uses
src/GUI/Khachhang.java - Store user → Customer support: requests help
README.md - Sales reports → MySQL database: reports sales
README.md - Invoice services → MySQL database: reads and writes
src/BackEnd/HoaDonBanService.java - Product data → MySQL database: reads and writes
- JDBC connection → MySQL database: connects
README.md - Password & OTP → Email delivery: sends OTP
README.md