How codebysaqi/auction-house works
Auction House Simulator is a Spring Boot marketplace for timed, category-specific auctions. Buyers browse and bid; sellers create auctions for review; expiry determines winners and starts payment release, while notifications report key outcomes. The repository also exposes account/profile, administration, messaging, and support workflows. The graph follows documented capabilities and sampled service/controller behavior; several peripheral routes are represented by their exact controller or service paths, but their internal wiring is not asserted where source excerpts were unavailable.
Main entry points: PaymentReleaseService.java Payment release · AuctionService.java Auction lifecycle · BidService.java Bidding engine · AdminController.java Auction administration
Components 24
Accounts and access
- Authentication
src/main/java/com/auctionhouse/controller/AuthController.java - Profiles
src/main/java/com/auctionhouse/controller/ProfileController.java - User service
src/main/java/com/auctionhouse/service/UserService.java - User repository
src/main/java/com/auctionhouse/repository/UserRepository.java
Auction lifecycle
- Auction browsing
src/main/java/com/auctionhouse/controller/AuctionController.java - Auction lifecycle
src/main/java/com/auctionhouse/service/AuctionService.java - Bid submission
src/main/java/com/auctionhouse/controller/BidController.java - Bidding engine
src/main/java/com/auctionhouse/service/BidService.java - Auction repository
src/main/java/com/auctionhouse/repository/AuctionRepository.java - Bid repository
src/main/java/com/auctionhouse/repository/BidRepository.java - Auction records
src/main/java/com/auctionhouse/model/Auction.java
Payments and communication
- Payment workflows
src/main/java/com/auctionhouse/controller/BuyerPaymentController.java - Payment release
src/main/java/com/auctionhouse/service/PaymentReleaseService.java - Payment records
src/main/java/com/auctionhouse/repository/PaymentReleaseRepository.java - Commission records
src/main/java/com/auctionhouse/repository/PlatformCommissionRepository.java - Notifications
src/main/java/com/auctionhouse/service/NotificationService.java - Buyer-seller chat
src/main/java/com/auctionhouse/service/ChatService.java - Support tickets
src/main/java/com/auctionhouse/service/SupportTicketService.java
Platform operations
- Auction administration
src/main/java/com/auctionhouse/controller/AdminController.java - Platform administration
src/main/java/com/auctionhouse/controller/SuperAdminController.java - Audit service
src/main/java/com/auctionhouse/service/AuditService.java
Other components
- Buyer or seller
- Administrator
- H2 database
Connections 32
- Buyer or seller → Authentication: signs in
- Buyer or seller → Auction browsing: browses
- Buyer or seller → Bid submission: places bid
- Buyer or seller → Profiles: manages profile
- Authentication → User service: authenticates
- Profiles → User service: updates account
- Auction browsing → Auction lifecycle: searches auctions
- Bid submission → Bidding engine: submits bid
- Bidding engine → Auction repository: locks auction
- Bidding engine → Bid repository: saves bid
- Auction lifecycle → Auction repository: loads and closes
- Auction lifecycle → Notifications: announces outcomes
- Auction lifecycle → Payment release: creates winner release
- Administrator → Auction administration: moderates
- Auction administration → Auction lifecycle: manages auctions
- Auction administration → Audit service: records actions
- Administrator → Payment workflows: reviews payment
- Payment workflows → Payment release: handles release
- Payment release → Payment records: saves and queries
- Payment release → Commission records: records commission
- Payment release → User repository: updates seller balance
- Payment release → Buyer-seller chat: creates conversation
- Payment release → Notifications: notifies parties
- Buyer or seller → Support tickets: requests support
- Buyer or seller → Buyer-seller chat: messages seller
- Administrator → Platform administration: manages platform
- Platform administration → User repository: manages accounts
- Auction repository → H2 database: persists auctions
- Bid repository → H2 database: persists bids
- User repository → H2 database: persists users
- Payment records → H2 database: persists releases
- Commission records → H2 database: persists commissions