Few lines describing your project.
Simple Selling Application is a ready-to-use solution designed for small and medium businesses (SMBs) looking to streamline their sales operations. This application provides an intuitive and efficient platform for managing sales while keeping operational costs minimal.
- Business-Friendly: Specifically designed for SMBs to simplify the selling process.
- Ready-to-Use: No extensive setup required; start managing sales immediately.
- User Behavior Data Aggregation: Collects and processes raw data for AI-driven insights and analytics.
- Cost-Effective: Runs on a minimal budget while maintaining efficiency and scalability.
- Standardized Operations: Ensures smooth and uniform business processes for improved workflow management.
- Gain AI-driven insights from user behavior data.
- Reduce operational costs while maintaining efficiency.
- Simplify sales management with an easy-to-use interface.
- Improve decision-making with structured and standardized processes.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Java version 21, Spring Boot version 3.4.1
Run and generate test reports to HTML page with Sunfire
make report
Docker compose up / down all services
make up / down
Docker compose email up / down (dev only)
make up/down-email
Layer architecture, monolithic architecture
Add additional notes about how to deploy this on a live system.
βββ .env.dev
βββ .gitattributes
βββ .gitignore
βββ .mvn
βββ wrapper
β βββ maven-wrapper.properties
βββ Dockerfile
βββ LICENSE
βββ Makefile
βββ README.md
βββ docker-compose.app.yaml
βββ docker-compose.db.yaml
βββ docker-compose.email.yaml
βββ docker-compose.merged.yaml
βββ docker-compose.yaml
βββ gitleaks.toml
βββ helm
βββ Chart.yaml
βββ README.md
βββ templates
β βββ pgadmin-deployment.yaml
β βββ pgadmin-persistentvolumeclaim.yaml
β βββ pgadmin-service.yaml
β βββ postgres-deployment.yaml
β βββ postgres-persistentvolumeclaim.yaml
β βββ postgres-service.yaml
β βββ simple-selling-application-deployment.yaml
β βββ simple-selling-application-service.yaml
βββ mvnw
βββ mvnw.cmd
βββ pom.xml
βββ src
βββ main
β βββ java
β β βββ com
β β β βββ shitcode
β β β βββ demo1
β β β βββ Demo1Application.java
β β β βββ annotation
β β β βββ logging
β β β β βββ LogCollector.java
β β β β βββ impl
β β β β β βββ LoggingCollectorAspect.java
β β β βββ spring
β β β β βββ LazyAutowired.java
β β β β βββ LazyComponent.java
β β β β βββ LazyConfiguration.java
β β β βββ validation
β β β β βββ DoEquals.java
β β β β βββ DoNotEquals.java
β β β β βββ Email.java
β β β β βββ GreaterOrEquals.java
β β β β βββ GreaterThan.java
β β β β βββ LessThan.java
β β β β βββ Password.java
β β β β βββ Phone.java
β β β β βββ impl
β β β β βββ DoEqualsValidator.java
β β β β βββ DoNotEqualsValidator.java
β β β β βββ EmailValidator.java
β β β β βββ GreaterOrEqualsValidator.java
β β β β βββ GreaterThanValidator.java
β β β β βββ LessThanValidator.java
β β β β βββ PasswordValidator.java
β β β β βββ PhoneValidator.java
β β β βββ component
β β β βββ DatabaseLock.java
β β β βββ IpAddressResolver.java
β β β βββ config
β β β βββ CacheConfig.java
β β β βββ Ip2LocationConfig.java
β β β βββ JwtConfig.java
β β β βββ MessagesConfig.java
β β β βββ OpenAPIConfiguration.java
β β β βββ SecurityConfig.java
β β β βββ controller
β β β βββ AuthController.java
β β β βββ CategoryController.java
β β β βββ ProductController.java
β β β βββ dto
β β β βββ AbstractAuditableEntity.java
β β β βββ AuthDTO.java
β β β βββ CategoryDTO.java
β β β βββ DiscountDTO.java
β β β βββ GenericDTO.java
β β β βββ ProductDTO.java
β β β βββ ProductInteractionDTO.java
β β β βββ ResponseDTO.java
β β β βββ SpringUserDTO.java
β β β βββ entity
β β β βββ AbstractAuditableEntity.java
β β β βββ Category.java
β β β βββ Discount.java
β β β βββ Product.java
β β β βββ ProductInteraction.java
β β β βββ RegistrationToken.java
β β β βββ SpringUser.java
β β β βββ exception
β β β βββ handler
β β β β βββ ApplicationExceptionHandler.java
β β β β βββ GlobalExceptionHandler.java
β β β β βββ LogExceptionAspect.java
β β β βββ model
β β β β βββ AspectException.java
β β β β βββ CacheEvictionException.java
β β β β βββ CacheMissException.java
β β β β βββ ConflictTokenException.java
β β β β βββ DiscountOverTimeException.java
β β β β βββ EntityExistsException.java
β β β β βββ EntityNotChangedException.java
β β β β βββ EntityNotFoundException.java
β β β β βββ ErrorModel.java
β β β β βββ InvalidRequestException.java
β β β β βββ KeyLockMissedException.java
β β β β βββ ResourceNotFoundException.java
β β β β βββ RevokeTokenException.java
β β β β βββ SendingMailException.java
β β β β βββ TokenExpiredException.java
β β β β βββ UserDisabledException.java
β β β β βββ UserUnAuthException.java
β β β β βββ WorkerBusyException.java
β β β βββ helper
β β β βββ DateFormatConverter.java
β β β βββ DatetimeFormat.java
β β β βββ DiscountDateTimeConverter.java
β β β βββ PaginationProvider.java
β β β βββ RoleConverter.java
β β β βββ init
β β β βββ ApplicationInitializer.java
β β β βββ SQLRunner.java
β β β βββ jwt
β β β βββ JwtService.java
β β β βββ mapper
β β β βββ CategoryMapper.java
β β β βββ DiscountMapper.java
β β β βββ ProductMapper.java
β β β βββ SpringUserMapper.java
β β β βββ properties
β β β βββ AccountsConfigData.java
β β β βββ AuthTokenConfigData.java
β β β βββ ClientConfigData.java
β β β βββ FontendServerConfigData.java
β β β βββ JwtConfigData.java
β β β βββ LvoxxServerConfigData.java
β β β βββ MailingConfigData.java
β β β βββ RateLimiterConfigData.java
β β β βββ RsaKeyConfigData.java
β β β βββ SecurityPathsConfigData.java
β β β βββ repository
β β β βββ CategoryRepository.java
β β β βββ DiscountRepository.java
β β β βββ ProductInteractionRepository.java
β β β βββ ProductRepository.java
β β β βββ RegistrationTokenRepository.java
β β β βββ SpringUserRepository.java
β β β βββ scheduler
β β β βββ CheckingExpiredDiscountScheduler.java
β β β βββ security
β β β βββ JWTAuthenticationEntryPoint.java
β β β βββ SpringUserDetails.java
β β β βββ SpringUserDetailsService.java
β β β βββ service
β β β βββ AuthService.java
β β β βββ CategoryService.java
β β β βββ DiscountService.java
β β β βββ InterationEventService.java
β β β βββ Ip2LocationService.java
β β β βββ MailService.java
β β β βββ ProductService.java
β β β βββ RateLimiterService.java
β β β βββ RegistrationTokenService.java
β β β βββ ResponseService.java
β β β βββ SpringUserService.java
β β β βββ impl
β β β β βββ AuthServiceImpl.java
β β β β βββ CategoryServiceImpl.java
β β β β βββ DiscountServiceImpl.java
β β β β βββ InterationEventServiceImpl.java
β β β β βββ Ip2LocationServiceImpl.java
β β β β βββ MailServiceImpl.java
β β β β βββ ProductServiceImpl.java
β β β β βββ RateLimiterServiceImpl.java
β β β β βββ RegistrationTokenServiceImpl.java
β β β β βββ ResponseServiceImpl.java
β β β β βββ SpringUserServiceImpl.java
β β β βββ utils
β β β βββ ApplicationCache.java
β β β βββ DiscountType.java
β β β βββ InteractionEvent.java
β β β βββ KeyLock.java
β β β βββ LogPrinter.java
β β β βββ LoggingModel.java
β β β βββ RateLimiterPlan.java
β β β βββ cache
β β β βββ CategoryCacheType.java
β β β βββ DiscountCacheType.java
β β β βββ Ip2LocationCacheType.java
β β β βββ ProductCacheType.java
β β β βββ UserCacheType.java
β βββ resources
β β βββ application.yml
β β βββ banner.txt
β β βββ certs
β β βββ private-key.pem
β β βββ public-key.pem
β β βββ config
β β βββ accounts.yml
β β βββ auth.yml
β β βββ database.yml
β β βββ email.yml
β β βββ logging.yml
β β βββ rate-limiter.yml
β β βββ security.yml
β β βββ server.yml
β β βββ database
β β βββ categories.sql
β β βββ discounts.sql
β β βββ products.sql
β β βββ html
β β βββ activation.htm
β β βββ ip2location
β β βββ IP2LOCATION-LITE-DB1.BIN
β β βββ LICENSE-CC-BY-SA-4.0.TXT
β β βββ README_LITE.TXT
β β βββ logback.xml
β β βββ message
β β βββ messages.yaml
βββ test
β βββ java
β βββ com
β βββ shitcode
β βββ demo1
β βββ controller
β βββ AuthControllerTest.java
β βββ CategoryControllerTest.java
β βββ jwt
β βββ JwtServiceTest.java
β βββ repository
β βββ CategoryRepositoryTest.java
β βββ DiscountRepositoryTest.java
β βββ ProductInteractionRepositoryTest.java
β βββ ProductRepositoryTest.java
β βββ RegistrationTokenRepositoryTest.java
β βββ SpringUserRepositoryTest.java
β βββ service
β βββ AuthServiceTest.java
β βββ CategoryServiceTest.java
β βββ Ip2LocationServiceTest.java
β βββ MailServiceTest.java
β βββ RegistrationTokenServiceTest.java
β βββ SpringUserServiceTest.java
β βββ testcontainer
β βββ AbstractRepositoryTest.java
β βββ PostgresTestContainerConfig.java
βββ wait-for-it.sh
This project is licensed under the Gnu General Public License. See the LICENSE file for details.