- About the project
- Description
- Built with
- Installation
- Requirements to run
- Usage information
- Run
- License
This project was created as a simple example to show how we can implement the hexagonal architecture(software design) proposed by Netflix in this article.
This project has business logic to get the software by author and software name inside a company, for this, it searches in the company's main git provider, which is Github. At some point, the company decides to change its git provider from Github to Gitlab; thus, changing the application's data source.
To change datasource from Github to Gitlab switch @Primmary annotation between them and restart application
To clone and run this application, you'll need Git installed on your computer(or no, if you want to download .zip). From your command line:
# Git CLI
git clone https://github.com/zevolution/netflix-hexagonal-architecture.git
# Github CLI
gh repo clone zevolution/netflix-hexagonal-architecture
- If you use Windows OS, is strongly recommended that you use Git Bash to perform all operations.
- Docker Engine
- Docker Compose
- OpenJDK 11 (if you don't use docker)
- After open project in your IDE, run
mvn clean generate-resources
to generate stub OpenAPI structure withOpenAPI Generator
in target folder. - Default api-port is
8180
- Default debug-port is
5105
- Default actuator-port is
9190
- Default context-path
/service--softwares-info
- Swagger URI
/service--softwares-info/swagger-ui/
- Actuator URI
/actuator
You can execute startup.sh
, before grant execution permissions with chmod +x startup.sh
. If you can't run startup.sh
, follow these steps:
- Open your terminal in the project folder
- Run
docker-compose up