Library Hexagonal Save

An example application written in Hexagonal (Ports and Adapter) architecture

Project README

Library

written in Hexagonal (Ports & Adapters) Architecture

Master Branch Quality Gate Status Coverage License: MIT

This is a small application that provides basic REST endpoints for managing library (add new book, reserve, borrow it, etc.).

The technology behind it:

  • Java 11
  • Postgres
  • Spring Boot

Installing / Getting started

Using docker-compose

In the terminal run the following command:

$ docker-compose up

Using Maven (with H2 or local Postgres database)

First compile an application:

$ mvn clean package

Then, you have two options either run it with H2 database or with local Postgres database. For first approach just run:

$ mvn spring-boot:run 

For a second option, check in the configuration file - src/main/resources/application.yml for profile local-postgres if connection details are correct and if so, run the command:

$ mvn spring-boot:run -P local-postgres

Inside IntelliJ (with H2 or Postgres database)

First configure how you run the LibraryHexagonalApplication.java by adding --spring.profiles.active=h2 (for H2 database) or --spring.profiles.active=postgres (for Postgres database) as a Program argument.

Then just run the LibraryHexagonalApplication.java class so it will use H2 database (you don't need to have postgres database up and running).

Open Source Agenda is not affiliated with "Library Hexagonal" Project. README Source: wkrzywiec/library-hexagonal

Open Source Agenda Badge

Open Source Agenda Rating