This repository contains a reactive-based application to manage a people registry system. It leverages reactive programming principles to handle large datasets and asynchronous operations efficiently.
- Reactive People Registry: A system to manage and query people data reactively.
- Quarkus: Used for reactive HTTP handling.
- Postgresql Integration: Stores people data in a NoSQL database.
- Real-time Data Handling: Optimized for high concurrency and asynchronous requests.
- Quarkus for backend services
- Mutiny for reactive programming
- Postgresql for database management
- Maven for project management
- Clone the repository:
git clone https://github.com/faspeee/registry-reactive.git
cd registry-reactive mvn clean install
./mvnw quarkus:devTo work with docker, is only necessary that docker engine is running, by default Testcontainers use docker engine.
This README explains how to run a Quarkus application using Testcontainers while using Podman instead of Docker on macOS.
Create the global Testcontainers configuration file:
nano ~/.testcontainers.propertiesSet the Docker host using your Podman machine’s socket. To find the correct path, run:
podman machine inspect --format '{{.ConnectionInfo.PodmanSocket.Path}}'Then, in the ~/.testcontainers.properties file, add:
docker.host=unix:///path/to/podman.sockReplace
/path/to/podman.sockwith the actual path returned by thepodman machine inspectcommand.
Run the following command in your terminal:
export TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sockThis ensures Testcontainers can communicate with Podman’s socket.
Once the configuration is done, you can run your Quarkus application:
./mvnw quarkus:devAll commands above are executed in the macOS terminal.
⚠️ Note: This setup is specific to macOS and assumes you are using Podman with a Podman machine. Other operating systems may require different configuration.
If you want to skip running tests (and avoid Testcontainers starting containers automatically), run Quarkus with:
./mvnw quarkus:dev -DskipTestsOr disable DevServices in application.properties:
quarkus.datasource.devservices.enabled=falseThis is useful when running Quarkus locally with Podman and avoiding potential container startup issues.
- Fork the repository.
- Create a new branch (git checkout -b feature-branch).
- Commit your changes (git commit -am 'Add new feature').
- Push to the branch (git push origin feature-branch).
- Open a pull request.