How ashutoshkumar2103/jshopshopping-testing works
JShop is a Spring Boot shopping API for users, product owners, and admins. Users register and log in, browse verified products, manage a cart, and place orders; product owners register, gain admin approval, and manage products; admins verify owners and products. Controllers delegate to services, which use DAOs for persistence. The README also describes API automation, but its implementation is not mapped here; sampled code covers only part of the backend, so uncertain DAO-to-repository wiring is omitted.
Main entry points: AdminService.java Admin service · ProductDao.java Product DAO · UserService.java User service · ProductOwnerService.java Owner service
Components 22
Accounts & Approval
- User API
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/controller/UserController.java - User service
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/service/UserService.java - Owner API
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/controller/ProductOwnerController.java - Owner service
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/service/ProductOwnerService.java - Admin API
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/controller/AdminController.java - Admin service
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/service/AdminService.java
Product Catalog
- Product API
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/controller/ProductController.java - Product service
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/service/ProductService.java
Cart & Orders
- Cart API
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/controller/UserCartController.java - Cart service
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/service/UserCartService.java - Order API
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/controller/ProductOrderController.java - Order service
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/service/ProductOrderService.java
Persistence Layer
- User DAO
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/dao/UserDao.java - Owner DAO
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/dao/ProductOwnerDao.java - Admin DAO
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/dao/AdminDao.java - Product DAO
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/dao/ProductDao.java - Cart DAO
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/dao/UserCartDao.java - Order DAO
Project/j-shop-spring-boot/src/main/java/com/jshop/jshopspringboot/dao/ProductOrderDao.java
Other components
- User
- Product owner
- Admin
- MySQL database
Connections 26
- User → User API: sends requests
- Product owner → Owner API: sends requests
- Admin → Admin API: sends requests
- User API → User service: delegates
- Owner API → Owner service: delegates
- Admin API → Admin service: delegates
- Product API → Product service: delegates
- Cart API → Cart service: delegates
- Order API → Order service: delegates
- User service → User DAO: calls
- User service → Admin service: validates credentials
- Owner service → Owner DAO: calls
- Owner service → Admin service: validates credentials
- Admin service → Admin DAO: calls
- Admin service → Product DAO: checks product
- Product service → Product DAO: calls
- Product service → Owner DAO: looks up owner
- Order service → Product DAO: checks product
- Order service → Order DAO: saves order
- Cart service → Cart DAO: calls
- User DAO → MySQL database: persists data
- Owner DAO → MySQL database: persists data
- Admin DAO → MySQL database: persists data
- Product DAO → MySQL database: persists data
- Cart DAO → MySQL database: persists data
- Order DAO → MySQL database: persists data