► Exemplo de aplicação com 2 microsserviços utilizando arquitetura hexagonal, quarkus, kafka, mongo
Table of Contents
► Microsserviços em Java 17 e Quarkus, utilizando arquitetura hexagonal, kafka, mongo
► Java 17
► Quarkus
► Docker
► Kafka
► Mongo
► Feign
└── eventos-quarkus/
├── Docker
│ └── docker-compose.yml
├── README.md
├── ms-eventos-quarkuskafkamongo
│ ├── .dockerignore
│ ├── .gitignore
│ ├── .mvn
│ ├── README.md
│ ├── mvnw
│ ├── mvnw.cmd
│ ├── pom.xml
│ └── src
└── ms-eventos-restquarkuskafka
├── .dockerignore
├── .gitignore
├── .mvn
├── README.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
Docker
File | Summary |
---|---|
docker-compose.yml | ► INSERT-TEXT-HERE |
ms-eventos-quarkuskafkamongo..mvn.wrapper
File | Summary |
---|---|
MavenWrapperDownloader.java | ► INSERT-TEXT-HERE |
ms-eventos-quarkuskafkamongo.src.main.java.br.eti.valerio.infra.kafka.reserva
File | Summary |
---|---|
ReservaConsumerImpl.java | ► INSERT-TEXT-HERE |
ms-eventos-quarkuskafkamongo.src.main.java.br.eti.valerio.adapter.input.dto
File | Summary |
---|---|
ReservaDTO.java | ► INSERT-TEXT-HERE |
ms-eventos-quarkuskafkamongo.src.main.java.br.eti.valerio.adapter.input.mapper
File | Summary |
---|---|
MapperReserva.java | ► INSERT-TEXT-HERE |
ms-eventos-quarkuskafkamongo.src.main.java.br.eti.valerio.adapter.input.controller
File | Summary |
---|---|
ReservaMongoController.java | ► INSERT-TEXT-HERE |
ms-eventos-quarkuskafkamongo.src.main.java.br.eti.valerio.adapter.output.reserva
File | Summary |
---|---|
ReservaMongoAdapter.java | ► INSERT-TEXT-HERE |
ms-eventos-quarkuskafkamongo.src.main.java.br.eti.valerio.adapter.output.mongo
File | Summary |
---|---|
ReservaRepository.java | ► INSERT-TEXT-HERE |
ms-eventos-quarkuskafkamongo.src.main.java.br.eti.valerio.adapter.output.kafka.consumer
File | Summary |
---|---|
ReservaConsumer.java | ► INSERT-TEXT-HERE |
ms-eventos-quarkuskafkamongo.src.main.java.br.eti.valerio.coredomain.entity
File | Summary |
---|---|
Reserva.java | ► INSERT-TEXT-HERE |
ms-eventos-quarkuskafkamongo.src.main.java.br.eti.valerio.coredomain.usecase
File | Summary |
---|---|
ReservaUseCasePortImpl.java | ► INSERT-TEXT-HERE |
ms-eventos-quarkuskafkamongo.src.main.java.br.eti.valerio.application.ports.in
File | Summary |
---|---|
ReservaUseCasePort.java | ► INSERT-TEXT-HERE |
ms-eventos-quarkuskafkamongo.src.main.java.br.eti.valerio.application.ports.out
File | Summary |
---|---|
ReservaPort.java | ► INSERT-TEXT-HERE |
ms-eventos-quarkuskafkamongo.src.main.docker
File | Summary |
---|---|
Dockerfile.native | ► INSERT-TEXT-HERE |
Dockerfile.jvm | ► INSERT-TEXT-HERE |
Dockerfile.legacy-jar | ► INSERT-TEXT-HERE |
Dockerfile.native-micro | ► INSERT-TEXT-HERE |
ms-eventos-restquarkuskafka..mvn.wrapper
File | Summary |
---|---|
MavenWrapperDownloader.java | ► INSERT-TEXT-HERE |
ms-eventos-restquarkuskafka.src.main.java.br.eti.valerio.infra.kafka.reserva
File | Summary |
---|---|
ReservaProducerImpl.java | ► INSERT-TEXT-HERE |
ms-eventos-restquarkuskafka.src.main.java.br.eti.valerio.adapter.input.dto
File | Summary |
---|---|
ReservaDTO.java | ► INSERT-TEXT-HERE |
ms-eventos-restquarkuskafka.src.main.java.br.eti.valerio.adapter.input.mapper
File | Summary |
---|---|
MapperReserva.java | ► INSERT-TEXT-HERE |
ms-eventos-restquarkuskafka.src.main.java.br.eti.valerio.adapter.input.controller
File | Summary |
---|---|
ReservaController.java | ► INSERT-TEXT-HERE |
ms-eventos-restquarkuskafka.src.main.java.br.eti.valerio.adapter.output.restproxy
File | Summary |
---|---|
ReservaRestProxy.java | ► INSERT-TEXT-HERE |
ms-eventos-restquarkuskafka.src.main.java.br.eti.valerio.adapter.output.reserva
File | Summary |
---|---|
ReservaAdapter.java | ► INSERT-TEXT-HERE |
ms-eventos-restquarkuskafka.src.main.java.br.eti.valerio.coredomain.entity
File | Summary |
---|---|
Reserva.java | ► INSERT-TEXT-HERE |
ms-eventos-restquarkuskafka.src.main.java.br.eti.valerio.coredomain.usecase
File | Summary |
---|---|
ReservaUseCasePortImpl.java | ► INSERT-TEXT-HERE |
ms-eventos-restquarkuskafka.src.main.java.br.eti.valerio.application.ports.in
File | Summary |
---|---|
ReservaUseCasePort.java | ► INSERT-TEXT-HERE |
ReservaProducer.java | ► INSERT-TEXT-HERE |
ms-eventos-restquarkuskafka.src.main.java.br.eti.valerio.application.ports.out
File | Summary |
---|---|
ReservaPort.java | ► INSERT-TEXT-HERE |
ms-eventos-restquarkuskafka.src.main.docker
File | Summary |
---|---|
Dockerfile.native | ► INSERT-TEXT-HERE |
Dockerfile.jvm | ► INSERT-TEXT-HERE |
Dockerfile.legacy-jar | ► INSERT-TEXT-HERE |
Dockerfile.native-micro | ► INSERT-TEXT-HERE |
System Requirements:
- Java:
version x.y.z
- Clone the eventos-quarkus repository:
$ git clone https://github.com/hamiltonvalerio/eventos-quarkus
- Change to the project directory:
$ cd eventos-quarkus
- Install the dependencies:
$ mvn clean install
Run eventos-quarkus using the command below:
$ java -jar target/myapp.jar
Run the test suite using the command below:
$ mvn test
Contributions are welcome! Here are several ways you can contribute:
- Report Issues: Submit bugs found or log feature requests for the
eventos-quarkus
project. - Submit Pull Requests: Review open PRs, and submit your own PRs.
- Join the Discussions: Share your insights, provide feedback, or ask questions.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/hamiltonvalerio/eventos-quarkus
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
This project is protected under the GNU AGPLv3 License. For more details, refer to the LICENSE file.
- List any resources, contributors, inspiration, etc. here.