Netflix Hexagonal Architecture
About the project
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/brianmviana/netflix-hexagonal-architecture.git # Github CLI gh repo clone brianmviana/netflix-hexagonal-architecture
Requirements to run
- 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 installto compile the application.
- Default api-port is
- Default debug-port is
- Default actuator-port is
- Default context-path
- Swagger URI
- Actuator URI
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
docker-compose up -d