Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/musabbozkurt/brokerage-provider

PostgreSQL, Kafka, Zipkin, Prometheus, Grafana, and Redis Integrations with Spring Boot 3, Java 21 and Docker. Integration Tests with Testcontainers for Controller. Unit Tests for Controller, Service, and Mapper with Junit 5, and Mockito
https://github.com/musabbozkurt/brokerage-provider

docker-co flyway grafana java-21 junit5 kafka micrometer mockito postgresql prometheus spring-boot-3 spring-boot-starter-webflux springdoc-openapi testcontainers zipkin

Last synced: 30 days ago
JSON representation

PostgreSQL, Kafka, Zipkin, Prometheus, Grafana, and Redis Integrations with Spring Boot 3, Java 21 and Docker. Integration Tests with Testcontainers for Controller. Unit Tests for Controller, Service, and Mapper with Junit 5, and Mockito

Awesome Lists containing this project

README

        

### Prerequisites

* `Java 21` should be installed --> `export JAVA_HOME=$(/usr/libexec/java_home -v 21)`
* `Docker` should be installed
* `Maven` should be installed
* `pgAdmin`/`DBeaver` can be installed (Optional)

-----

### How to start the application

* First way
* Run [./scripts/run.sh](scripts%2Frun.sh) script
* Second way
* Run `docker-compose up -d` command to start the services
* Run `mvn clean install` or `mvn clean package`
* Run `mvn spring-boot:run` or `./mvnw spring-boot:run`

-----

### How to test the application

* Swagger Url: http://localhost:8001/swagger-ui.html
* Actuator Url: http://localhost:8001/actuator
* Metric Url: http://localhost:8001/actuator/metrics
* Run `mvn test` command to run all the tests

-----

### `docker-compose` contains the followings

* Kafka UI: http://localhost:9091/
* Zipkin: http://localhost:9411/
* Prometheus: http://localhost:9090/graph
* Grafana: http://localhost:3000/
* `Email or username: admin`
* `Password: admin`
* PostgreSQL DB connection details
* `POSTGRES_USER: postgres`
* `POSTGRES_PASSWORD: postgres`
* `Port: 5432`

-----