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

https://github.com/raphaelbh/hexagonal-architecture

Hexagonal Architecture PoC
https://github.com/raphaelbh/hexagonal-architecture

architecture docker docker-compose hexagonal-architecture kotlin poc software-architecture spring-boot

Last synced: 2 months ago
JSON representation

Hexagonal Architecture PoC

Awesome Lists containing this project

README

        

# Hexagonal Architecture

[![Project Status](https://img.shields.io/static/v1?label=project%20status&message=complete&color=success&style=flat-square)](#)
[![GitHub License](https://img.shields.io/github/license/raphaelbh/hexagonal-architecture?style=flat-square)](#)

Hexagonal Architecture PoC

![alt text](assets/images/arch.png)

The hexagonal architecture, or ports and adapters architecture, is an architectural pattern used in software design. It aims at creating loosely coupled application components that can be easily connected to their software environment by means of ports and adapters. This makes components exchangeable at any level and facilitates test automation.

## Requirements

[![docker](https://img.shields.io/badge/Docker-2CA5E0?style=for-the-badge&logo=docker&logoColor=white)](https://www.docker.com/)

## Installation

```bash
$ docker-compose up -d
```

## Usage

```bash
$ curl -X POST 'http://localhost:8080/transactions' -H 'accept: application/json' -H 'Content-Type: application/json' -d '{"user":"john", "amount":99.99, "description": "Transfer"}'
$ curl -X GET 'http://localhost:8080/transactions?user=john' -H 'accept: application/json'
```

## Tech Stack

[![docker](https://img.shields.io/badge/Docker-2CA5E0?style=for-the-badge&logo=docker&logoColor=white)](https://www.docker.com/)
[![kotlin](https://img.shields.io/badge/Kotlin-0095D5?&style=for-the-badge&logo=kotlin&logoColor=white)](https://kotlinlang.org/)
[![springboot](https://img.shields.io/badge/Spring_Boot-F2F4F9?style=for-the-badge&logo=spring-boot)](https://spring.io/projects/spring-boot)
[![aws](https://img.shields.io/badge/Amazon_AWS-FF9900?style=for-the-badge&logo=amazonaws&logoColor=white)](https://aws.amazon.com/)

## Reference

- https://medium.com/ssense-tech/hexagonal-architecture-there-are-always-two-sides-to-every-story-bc0780ed7d9c

## Feedback

If you have any feedback, please contact me at [email protected]

[![github](https://img.shields.io/badge/GitHub-100000?style=for-the-badge&logo=github&logoColor=white)](https://github.com/raphaelbh)
[![linkedin](https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/raphaelbh/)