gitextract_0gy1k5a8/ ├── FirstSpring/ │ ├── .gitignore │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── embarkx/ │ │ │ └── FirstSpring/ │ │ │ ├── FirstSpringApplication.java │ │ │ ├── HelloController.java │ │ │ └── HelloResponse.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── embarkx/ │ └── FirstSpring/ │ └── FirstSpringApplicationTests.java ├── Java Spring Boot- Professional eCommerce Project Masterclass.postman_collection.json ├── README.md ├── SpringExample/ │ ├── .gitignore │ ├── .idea/ │ │ ├── .gitignore │ │ ├── encodings.xml │ │ ├── misc.xml │ │ ├── uiDesigner.xml │ │ └── vcs.xml │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ ├── car/ │ │ │ └── example/ │ │ │ ├── bean/ │ │ │ │ ├── App.java │ │ │ │ └── MyBean.java │ │ │ ├── constructor/ │ │ │ │ └── injection/ │ │ │ │ ├── App.java │ │ │ │ ├── Car.java │ │ │ │ └── Specification.java │ │ │ └── setter/ │ │ │ └── injection/ │ │ │ ├── App.java │ │ │ ├── Car.java │ │ │ └── Specification.java │ │ └── com/ │ │ ├── example/ │ │ │ ├── autowire/ │ │ │ │ ├── constructor/ │ │ │ │ │ ├── App.java │ │ │ │ │ ├── Car.java │ │ │ │ │ └── Specification.java │ │ │ │ ├── name/ │ │ │ │ │ ├── App.java │ │ │ │ │ ├── Car.java │ │ │ │ │ └── Specification.java │ │ │ │ └── type/ │ │ │ │ ├── App.java │ │ │ │ ├── Car.java │ │ │ │ └── Specification.java │ │ │ ├── autowired/ │ │ │ │ └── annotation/ │ │ │ │ ├── App.java │ │ │ │ ├── AppConfig.java │ │ │ │ ├── Employee.java │ │ │ │ └── Manager.java │ │ │ └── componentscan/ │ │ │ ├── App.java │ │ │ ├── Employee.java │ │ │ └── annotation/ │ │ │ ├── App.java │ │ │ ├── AppConfig.java │ │ │ └── Employee.java │ │ ├── ioc/ │ │ │ └── coupling/ │ │ │ ├── IOCExample.java │ │ │ ├── NewDatabaseProvider.java │ │ │ ├── UserDataProvider.java │ │ │ ├── UserDatabaseProvider.java │ │ │ ├── UserManager.java │ │ │ └── WebServiceDataProvider.java │ │ ├── loose/ │ │ │ └── coupling/ │ │ │ ├── LooseCouplingExample.java │ │ │ ├── NewDatabaseProvider.java │ │ │ ├── UserDataProvider.java │ │ │ ├── UserDatabaseProvider.java │ │ │ ├── UserManager.java │ │ │ └── WebServiceDataProvider.java │ │ └── tight/ │ │ └── coupling/ │ │ ├── TightCouplingExample.java │ │ ├── UserDatabase.java │ │ └── UserManager.java │ └── resources/ │ ├── applicationBeanContext.xml │ ├── applicationConstructorInjection.xml │ ├── applicationIoCLooseCouplingExample.xml │ ├── applicationSetterInjection.xml │ ├── autowireByConstructor.xml │ ├── autowireByName.xml │ ├── autowireByType.xml │ └── componentScanDemo.xml ├── ecom-frontend/ │ ├── .gitignore │ ├── README.md │ ├── eslint.config.js │ ├── index.html │ ├── package.json │ ├── postcss.config.js │ ├── src/ │ │ ├── App.css │ │ ├── App.jsx │ │ ├── api/ │ │ │ └── api.js │ │ ├── components/ │ │ │ ├── About.jsx │ │ │ ├── BackDrop.jsx │ │ │ ├── Contact.jsx │ │ │ ├── PrivateRoute.jsx │ │ │ ├── UserMenu.jsx │ │ │ ├── admin/ │ │ │ │ ├── AdminLayout.jsx │ │ │ │ ├── categories/ │ │ │ │ │ ├── AddCategoryForm.jsx │ │ │ │ │ └── Category.jsx │ │ │ │ ├── dashboard/ │ │ │ │ │ ├── Dashboard.jsx │ │ │ │ │ └── DashboardOverview.jsx │ │ │ │ ├── orders/ │ │ │ │ │ ├── OrderTable.jsx │ │ │ │ │ ├── Orders.jsx │ │ │ │ │ └── UpdateOrderForm.jsx │ │ │ │ ├── products/ │ │ │ │ │ ├── AddProductForm.jsx │ │ │ │ │ ├── AdminProducts.jsx │ │ │ │ │ └── ImageUploadForm.jsx │ │ │ │ └── sellers/ │ │ │ │ ├── AddSellerForm.jsx │ │ │ │ ├── SellerTable.jsx │ │ │ │ ├── Sellers.jsx │ │ │ │ └── useSellerFilter.jsx │ │ │ ├── auth/ │ │ │ │ ├── LogIn.jsx │ │ │ │ └── Register.jsx │ │ │ ├── cart/ │ │ │ │ ├── Cart.jsx │ │ │ │ ├── CartEmpty.jsx │ │ │ │ ├── ItemContent.jsx │ │ │ │ └── SetQuantity.jsx │ │ │ ├── checkout/ │ │ │ │ ├── AddAddressForm.jsx │ │ │ │ ├── AddressInfo.jsx │ │ │ │ ├── AddressInfoModal.jsx │ │ │ │ ├── AddressList.jsx │ │ │ │ ├── Checkout.jsx │ │ │ │ ├── DeleteModal.jsx │ │ │ │ ├── OrderSummary.jsx │ │ │ │ ├── PaymentConfirmation.jsx │ │ │ │ ├── PaymentForm.jsx │ │ │ │ ├── PaymentMethod.jsx │ │ │ │ ├── PaypalPayment.jsx │ │ │ │ └── StripePayment.jsx │ │ │ ├── helper/ │ │ │ │ └── tableColumn.jsx │ │ │ ├── home/ │ │ │ │ ├── HeroBanner.jsx │ │ │ │ └── Home.jsx │ │ │ ├── products/ │ │ │ │ ├── Filter.jsx │ │ │ │ └── Products.jsx │ │ │ └── shared/ │ │ │ ├── DeleteModal.jsx │ │ │ ├── ErrorPage.jsx │ │ │ ├── InputField.jsx │ │ │ ├── Loader.jsx │ │ │ ├── Modal.jsx │ │ │ ├── Navbar.jsx │ │ │ ├── Paginations.jsx │ │ │ ├── ProductCard.jsx │ │ │ ├── ProductViewModal.jsx │ │ │ ├── SelectTextField.jsx │ │ │ ├── Sidebar.jsx │ │ │ ├── Skeleton.jsx │ │ │ ├── Spinners.jsx │ │ │ └── Status.jsx │ │ ├── hooks/ │ │ │ ├── useCategoryFilter.js │ │ │ ├── useOrderFilter.js │ │ │ └── useProductFilter.js │ │ ├── index.css │ │ ├── main.jsx │ │ ├── store/ │ │ │ ├── actions/ │ │ │ │ └── index.js │ │ │ └── reducers/ │ │ │ ├── ProductReducer.js │ │ │ ├── adminReducer.js │ │ │ ├── authReducer.js │ │ │ ├── cartReducer.js │ │ │ ├── errorReducer.js │ │ │ ├── orderReducer.js │ │ │ ├── paymentMethodReducer.js │ │ │ ├── sellerReducer.js │ │ │ └── store.js │ │ └── utils/ │ │ ├── constant.js │ │ ├── formatPrice.js │ │ ├── index.js │ │ └── truncateText.js │ └── vite.config.js ├── media/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── social/ │ │ │ └── media/ │ │ │ ├── DataInitializer.java │ │ │ ├── MediaApplication.java │ │ │ ├── controllers/ │ │ │ │ └── SocialController.java │ │ │ ├── models/ │ │ │ │ ├── Post.java │ │ │ │ ├── SocialGroup.java │ │ │ │ ├── SocialProfile.java │ │ │ │ └── SocialUser.java │ │ │ ├── repositories/ │ │ │ │ ├── PostRepository.java │ │ │ │ ├── SocialGroupRepository.java │ │ │ │ ├── SocialProfileRepository.java │ │ │ │ └── SocialUserRepository.java │ │ │ └── services/ │ │ │ └── SocialService.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── com/ │ └── social/ │ └── media/ │ └── MediaApplicationTests.java └── sb-ecom/ ├── .gitignore ├── .mvn/ │ └── wrapper/ │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src/ ├── main/ │ ├── java/ │ │ └── com/ │ │ └── ecommerce/ │ │ └── project/ │ │ ├── SbEcomApplication.java │ │ ├── config/ │ │ │ ├── AppConfig.java │ │ │ ├── AppConstants.java │ │ │ ├── SwaggerConfig.java │ │ │ └── WebMvcConfig.java │ │ ├── controller/ │ │ │ ├── AddressController.java │ │ │ ├── AnalyticsController.java │ │ │ ├── AuthController.java │ │ │ ├── CartController.java │ │ │ ├── CategoryController.java │ │ │ ├── OrderController.java │ │ │ └── ProductController.java │ │ ├── exceptions/ │ │ │ ├── APIException.java │ │ │ ├── MyGlobalExceptionHandler.java │ │ │ └── ResourceNotFoundException.java │ │ ├── model/ │ │ │ ├── Address.java │ │ │ ├── AppRole.java │ │ │ ├── Cart.java │ │ │ ├── CartItem.java │ │ │ ├── Category.java │ │ │ ├── Order.java │ │ │ ├── OrderItem.java │ │ │ ├── Payment.java │ │ │ ├── Product.java │ │ │ ├── Role.java │ │ │ └── User.java │ │ ├── payload/ │ │ │ ├── APIResponse.java │ │ │ ├── AddressDTO.java │ │ │ ├── AnalyticsResponse.java │ │ │ ├── AuthenticationResult.java │ │ │ ├── CartDTO.java │ │ │ ├── CartItemDTO.java │ │ │ ├── CategoryDTO.java │ │ │ ├── CategoryResponse.java │ │ │ ├── OrderDTO.java │ │ │ ├── OrderItemDTO.java │ │ │ ├── OrderRequestDTO.java │ │ │ ├── OrderResponse.java │ │ │ ├── OrderStatusUpdateDto.java │ │ │ ├── PaymentDTO.java │ │ │ ├── ProductDTO.java │ │ │ ├── ProductResponse.java │ │ │ ├── StripePaymentDto.java │ │ │ ├── UserDTO.java │ │ │ └── UserResponse.java │ │ ├── repositories/ │ │ │ ├── AddressRepository.java │ │ │ ├── CartItemRepository.java │ │ │ ├── CartRepository.java │ │ │ ├── CategoryRepository.java │ │ │ ├── OrderItemRepository.java │ │ │ ├── OrderRepository.java │ │ │ ├── PaymentRepository.java │ │ │ ├── ProductRepository.java │ │ │ ├── RoleRepository.java │ │ │ └── UserRepository.java │ │ ├── security/ │ │ │ ├── WebConfig.java │ │ │ ├── WebSecurityConfig.java │ │ │ ├── jwt/ │ │ │ │ ├── AuthEntryPointJwt.java │ │ │ │ ├── AuthTokenFilter.java │ │ │ │ └── JwtUtils.java │ │ │ ├── request/ │ │ │ │ ├── LoginRequest.java │ │ │ │ └── SignupRequest.java │ │ │ ├── response/ │ │ │ │ ├── MessageResponse.java │ │ │ │ └── UserInfoResponse.java │ │ │ └── services/ │ │ │ ├── UserDetailsImpl.java │ │ │ └── UserDetailsServiceImpl.java │ │ ├── service/ │ │ │ ├── AddressService.java │ │ │ ├── AddressServiceImpl.java │ │ │ ├── AnalyticsService.java │ │ │ ├── AnalyticsServiceImpl.java │ │ │ ├── AuthService.java │ │ │ ├── AuthServiceImpl.java │ │ │ ├── CartService.java │ │ │ ├── CartServiceImpl.java │ │ │ ├── CategoryService.java │ │ │ ├── CategoryServiceImpl.java │ │ │ ├── FileService.java │ │ │ ├── FileServiceImpl.java │ │ │ ├── OrderService.java │ │ │ ├── OrderServiceImpl.java │ │ │ ├── ProductService.java │ │ │ ├── ProductServiceImpl.java │ │ │ ├── StripeService.java │ │ │ └── StripeServiceImpl.java │ │ └── util/ │ │ └── AuthUtil.java │ └── resources/ │ └── application.properties └── test/ └── java/ └── com/ └── ecommerce/ └── project/ └── SbEcomApplicationTests.java