Emerald project is a REST API service based on Spring Boot. The project is developed as a learning initiative to improve architecture skills and use best practices in backend development.
- Core: Java 21, Spring Boot 3
- Modules: Spring MVC, Spring Data JPA, Validation, MapStruct, Lombok
- Security: Spring Security, JWT
- Database: PostgreSQL, Liquibase (Migrations)
- Caching: Redis
- Documentation: Springdoc OpenAPI
- Containerization: Docker & Docker Compose
Make sure you have the following installed on your system:
- Docker
- Docker Compose >=5.3.0
git clone https://github.com/RomanGulevatiy/emerald.gitCopy the template file to create your local .env file and adjust the values if needed:
cp .env.template .envRun the following command to build the multi-stage Docker image and start all services (API, PostgreSQL, Redis):
docker compose up --buildThe API will be available at http://localhost:8080/api.
The API documentation for this application is available at http://localhost:8080/api/swagger-ui/index.html. It details all endpoints and their usage.
Distributed under the MIT License. See LICENSE for more information.