How haidang9107/bidding works
This is a JavaFX client/server online auction system: users browse or manage listings, participate in live auctions, and use account and finance features; the server processes requests and persists system state. The README documents TCP/JSON requests and responses, server broadcasts, and the shared protocol module. The source excerpts were unavailable, so internal dispatch and service-to-storage wiring are not asserted; feature modules are represented from the repository tree and documented capabilities.
Main entry points: repository Data access · SocketClient.java Socket client · SocketServer.java Socket server · controller User and admin screens
Components 20
Client experience
- JavaFX app
client/src/main/java/org/example/client/ClientApp.java - User and admin screens
client/src/main/java/org/example/client/controller - Auction views
client/src/main/java/org/example/client/dialog - Socket client
client/src/main/java/org/example/client/network/SocketClient.java - Server listener
client/src/main/java/org/example/client/network/ServerListener.java
Shared protocol
- Requests and responses
common/src/main/java/org/example/dto - Network payloads
common/src/main/java/org/example/payload
Auction services
- Socket server
server/src/main/java/org/example/server/network/SocketServer.java - Command handler
server/src/main/java/org/example/server/network/CommandHandler.java - Auction lifecycle
server/src/main/java/org/example/server/service/auction - Bidding and auto-bids
server/src/main/java/org/example/server/service/bid - Product listings
server/src/main/java/org/example/server/service/product/ProductService.java - Accounts and watchlists
server/src/main/java/org/example/server/service/user - Finance and transfers
server/src/main/java/org/example/server/service/finance - Administration
server/src/main/java/org/example/server/service/user/admin/AdminService.java
Persistence and events
- Live event notifications
server/src/main/java/org/example/server/event - Socket broadcaster
server/src/main/java/org/example/server/network/Broadcaster.java - Data access
server/src/main/java/org/example/server/repository - MySQL database
server/src/main/resources/MySQL/1schema.sql
Other components
- User
Connections 21
- User → JavaFX app: uses
- JavaFX app → User and admin screens: opens
- User and admin screens → Auction views: views
- User and admin screens → Socket client: sends requests
- Auction views → Socket client: sends requests
- Socket client → Requests and responses: encodes requests
- Requests and responses → Network payloads: carries payloads
- Socket client → Socket server: sends JSON over TCP
- Socket server → Socket client: returns responses
- Socket server → Requests and responses: exchanges messages
- Socket server → Socket broadcaster: broadcasts updates
- Socket broadcaster → Server listener: pushes updates
- Server listener → Auction views: updates views
- Auction lifecycle → Data access: persists auction state
- Bidding and auto-bids → Data access: persists bids
- Product listings → Data access: persists listings
- Accounts and watchlists → Data access: persists account data
- Finance and transfers → Data access: persists transactions
- Administration → Data access: accesses system data
- Data access → MySQL database: reads and writes
- Live event notifications → Socket broadcaster: dispatches notifications