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

Built with


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)

Usage information

  1. After open project in your IDE, run mvn clean install to compile the application.
  2. Default api-port is 8180
  3. Default debug-port is 5105
  4. Default actuator-port is 9190
  5. Default context-path /netflix-hexagonal-architecture
  6. Swagger URI /netflix-hexagonal-architecture/swagger-ui/
  7. Actuator URI /netflix-hexagonal-architecture/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:

  1. Open your terminal in the project folder
  2. Run docker-compose up -d




View Github