How rangeegnar/hmdp works
This Spring application supports a local-deals workflow: users authenticate, discover shops and vouchers, and participate in social posting and follow feeds or voucher ordering. The sampled code confirms user and blog service calls, shop cache/database access, and blog interactions with user, follow, and Redis data. The tree also identifies comments, uploads, and seckill-order handling as product areas, but their internal wiring was not sampled; those branches are shown conservatively. MySQL, Redis, and file storage represent runtime state or resources, not delivery tooling.
Main entry points: BlogServiceImpl.java Blog service · ShopServiceImpl.java Shop service · UserServiceImpl.java User service · UserController.java User API
Components 23
Identity
- User API
src/main/java/com/hmdp/controller/UserController.java - User service
src/main/java/com/hmdp/service/impl/UserServiceImpl.java - User info service
src/main/java/com/hmdp/service/impl/UserInfoServiceImpl.java - User data
src/main/java/com/hmdp/mapper/UserMapper.java
Shop discovery
- Shop API
src/main/java/com/hmdp/controller/ShopController.java - Shop service
src/main/java/com/hmdp/service/impl/ShopServiceImpl.java - Shop types
src/main/java/com/hmdp/controller/ShopTypeController.java - Shop data
src/main/java/com/hmdp/mapper/ShopMapper.java
Social content
- Blog API
src/main/java/com/hmdp/controller/BlogController.java - Blog service
src/main/java/com/hmdp/service/impl/BlogServiceImpl.java - Follow service
src/main/java/com/hmdp/service/impl/FollowServiceImpl.java - Comments API
src/main/java/com/hmdp/controller/BlogCommentsController.java - Image upload
src/main/java/com/hmdp/controller/UploadController.java
Vouchers and orders
- Voucher API
src/main/java/com/hmdp/controller/VoucherController.java - Voucher service
src/main/java/com/hmdp/service/impl/VoucherServiceImpl.java - Order API
src/main/java/com/hmdp/controller/VoucherOrderController.java - Order service
src/main/java/com/hmdp/service/impl/VoucherOrderServiceImpl.java - Seckill listener
src/main/java/com/hmdp/listener/SeckillVoucherListener.java
Runtime infrastructure
- MySQL
- Redis
- Cache client
src/main/java/com/hmdp/utils/CacheClient.java - Image files
Other components
- Customer
Connections 27
- Customer → User API: requests
- Customer → Shop API: browses
- Customer → Blog API: posts and reads
- Customer → Voucher API: views vouchers
- Customer → Order API: places orders
- User API → User service: delegates
- User API → User info service: loads profile
- User service → User data: queries users
- User service → Redis: stores tokens and signs
- User info service → MySQL: accesses profile data
- Shop API → Shop service: delegates
- Shop service → Cache client: loads shop cache
- Cache client → Redis: reads and writes cache
- Shop service → Shop data: queries shops
- Shop service → Redis: searches geo index
- Shop types → MySQL: queries shop types
- Blog API → Blog service: delegates
- Blog service → MySQL: reads and writes blogs
- Blog service → Redis: tracks likes and feeds
- Blog service → Follow service: loads followers
- Blog service → User service: loads author data
- Comments API → MySQL: comment data
- Image upload → Image files: writes and deletes images
- Voucher API → Voucher service: delegates
- Order API → Order service: delegates
- Order service → Seckill listener: order handling
- Voucher service → MySQL: voucher data