How hmvn-cyber/baitaplon-nhom1-phiendaugia works
AuctionHub is a JavaFX client/server auction system: sellers and admins manage items and auctions; bidders register with a deposit, enter a room, and bid. TCP requests are dispatched by the server to auction/user management and persistence; room updates are broadcast to subscribers. Auction timing, anti-sniping, automatic bidding, and concurrent bid handling are distinct runtime capabilities. The README documents the overall client/server and JDBC flow; some controller and handler excerpts are partial, so uncertain internal call links are omitted.
Main entry points: ClientHandler.java Request dispatch · DatabaseConnection.java JDBC connection · AuctionManager.java Auction manager · App.java JavaFX app
Components 24
Desktop client
- JavaFX app
auction/src/main/java/vn/edu/uvn/uet/App.java - User workflows
auction/src/main/java/vn/edu/uvn/uet/controller
TCP transport
- TCP client
auction/src/main/java/vn/edu/uvn/uet/network/AuctionClientService.java - Auction server
auction/src/main/java/vn/edu/uvn/uet/network/AuctionServer.java - Request dispatch
auction/src/main/java/vn/edu/uvn/uet/network/ClientHandler.java - Wire protocol
auction/src/main/java/vn/edu/uvn/uet/network/Protocol.java - Response parsing
auction/src/main/java/vn/edu/uvn/uet/network/ResponseParser.java
Auction domain
- Auction manager
auction/src/main/java/vn/edu/uvn/uet/manager/AuctionManager.java - Item manager
auction/src/main/java/vn/edu/uvn/uet/manager/ItemManager.java - Auction model
auction/src/main/java/vn/edu/uvn/uet/entity/Auction.java - Item model
auction/src/main/java/vn/edu/uvn/uet/entity/Item.java - Bid coordination
auction/src/main/java/vn/edu/uvn/uet/service/AuctionConcurrencyManager.java - Auto bidding
auction/src/main/java/vn/edu/uvn/uet/service/AutoBidEngine.java - Auction timing
auction/src/main/java/vn/edu/uvn/uet/service/AuctionExtender.java
Persistence
- Auction records
auction/src/main/java/vn/edu/uvn/uet/repository/AuctionDAO.java - Item records
auction/src/main/java/vn/edu/uvn/uet/repository/ItemDAO.java - User records
auction/src/main/java/vn/edu/uvn/uet/repository/UserDAO.java - Bid records
auction/src/main/java/vn/edu/uvn/uet/repository/BidTransactionDAO.java - Deposits
auction/src/main/java/vn/edu/uvn/uet/repository/RegisterDAO.java - JDBC connection
auction/src/main/java/vn/edu/uvn/uet/connection/DatabaseConnection.java
Other components
- Bidder
- Seller
- Admin
- MySQL
Connections 27
- Bidder → JavaFX app: uses
- Seller → JavaFX app: uses
- Admin → JavaFX app: uses
- JavaFX app → User workflows: loads
- User workflows → TCP client: sends requests
- TCP client → Wire protocol: formats commands
- TCP client → Auction server: TCP requests
- Auction server → Request dispatch: dispatches sockets
- Request dispatch → Auction manager: manages auctions
- Request dispatch → Item manager: manages items
- Request dispatch → Auction records: queries auctions
- Request dispatch → Item records: queries items
- Request dispatch → User records: queries users
- Request dispatch → Bid records: queries bids
- Request dispatch → Deposits: handles deposits
- Auction manager → Auction records: persists results
- Auction manager → Auction timing: checks extensions
- Auction model → Bid coordination: serialized bids
- Auto bidding → Auction model: places bids
- Auction manager → Auction model: holds auctions
- Item manager → Item model: holds items
- Auction records → JDBC connection: JDBC access
- Item records → JDBC connection: JDBC access
- User records → JDBC connection: JDBC access
- Bid records → JDBC connection: JDBC access
- Deposits → JDBC connection: JDBC access
- JDBC connection → MySQL: connects