An open API service indexing awesome lists of open source software.

https://github.com/lvoxx/simple-selling-application

Simple Selling Application for quick and small business, minimal budget but standarization operations.
https://github.com/lvoxx/simple-selling-application

docker monolith restful-api simple-project spring-boot

Last synced: 2 months ago
JSON representation

Simple Selling Application for quick and small business, minimal budget but standarization operations.

Awesome Lists containing this project

README

          



Project logo

Simple Selling Application

[![Status](https://img.shields.io/badge/status-active-success.svg)]()
[![GitHub Issues](https://img.shields.io/github/issues/kylelobo/The-Documentation-Compendium.svg)](https://github.com/kylelobo/The-Documentation-Compendium/issues)
[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/kylelobo/The-Documentation-Compendium.svg)](https://github.com/kylelobo/The-Documentation-Compendium/pulls)
[![License](https://img.shields.io/badge/license-GPLv3-blue)](/LICENSE)

---

Few lines describing your project.


## ๐Ÿ“ Table of Contents

- [Overview](#overview)
- [Getting Started](#getting_started)
- [Deployment](#deployment)
- [Develop Structurer](#structure)
- [License](#license)

## ๐Ÿง Overview

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.

### Features

- **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.

### Benefits

- 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.

## ๐Ÿ Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See [deployment](#deployment) for notes on how to deploy the project on a live system.

### Prerequisites

```
Java version 21, Spring Boot version 3.4.1
```

### Insight

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
```

### And coding style tests

Layer architecture, monolithic architecture

## ๐Ÿš€ Deployment

Add additional notes about how to deploy this on a live system.

## ๐Ÿ—๏ธ Development Structure

```
โ”œโ”€โ”€ .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

```

## ๐Ÿงพ License
This project is licensed under the Gnu General Public License. See the LICENSE file for details.