https://github.com/rafaelfgx/java
Java, Spring Boot, Docker, Testcontainers, PostgreSQL, MongoDB, Kafka, LocalStack, AWS (SQS, S3), JWT, Swagger, Patterns (Mediator, Observer, Outbox, Strategy).
https://github.com/rafaelfgx/java
java java-24 java-api java-spring-boot java-springboot java24 kafka localstack mongodb patterns postgres postgresql s3 spring spring-boot springboot sqs testcontainers
Last synced: about 1 month ago
JSON representation
Java, Spring Boot, Docker, Testcontainers, PostgreSQL, MongoDB, Kafka, LocalStack, AWS (SQS, S3), JWT, Swagger, Patterns (Mediator, Observer, Outbox, Strategy).
- Host: GitHub
- URL: https://github.com/rafaelfgx/java
- Owner: rafaelfgx
- License: mit
- Created: 2023-06-19T21:27:09.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-02T19:11:23.000Z (about 1 month ago)
- Last Synced: 2025-05-02T20:22:38.488Z (about 1 month ago)
- Topics: java, java-24, java-api, java-spring-boot, java-springboot, java24, kafka, localstack, mongodb, patterns, postgres, postgresql, s3, spring, spring-boot, springboot, sqs, testcontainers
- Language: Java
- Homepage:
- Size: 43 KB
- Stars: 17
- Watchers: 1
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license.md
Awesome Lists containing this project
README
# JAVA

Java, Spring Boot, Docker, Testcontainers, PostgreSQL, MongoDB, Kafka, LocalStack, AWS (SQS, S3), JWT, Swagger, Patterns (Mediator, Observer, Outbox, Strategy).
## TECHNOLOGIES
- [Java](https://dev.java)
- [Spring Boot](https://spring.io/projects/spring-boot)
- [Docker](https://www.docker.com/get-started)
- [Testcontainers](https://java.testcontainers.org)
- [PostgreSQL](https://www.postgresql.org/)
- [MongoDB](https://www.mongodb.com/docs/manual)
- [Kafka](https://kafka.apache.org)
- [LocalStack](https://localstack.cloud)
- [AWS SQS](https://aws.amazon.com/sqs)
- [AWS S3](https://aws.amazon.com/s3)
- [JWT](https://jwt.io)
- [Swagger](https://swagger.io)## RUN
IntelliJ IDEA
#### Prerequisites
* [Docker](https://www.docker.com/get-started)
* [Java JDK](https://www.oracle.com/java/technologies/downloads)
* [IntelliJ IDEA](https://www.jetbrains.com/idea/download)#### Steps
1. Execute **docker compose up --detach --build --force-recreate --remove-orphans** in **docker** directory.
2. Open **source** directory in **IntelliJ IDEA**.
3. Select **Application.java** class.
4. Click **Run** or **Debug**.
5. Open .Docker
#### Prerequisites
* [Docker](https://www.docker.com/get-started)
#### Steps
1. Execute **docker compose up --detach --build --force-recreate --remove-orphans** in **docker** directory.
2. Open .## EXAMPLES
- **Authentication and Authorization:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/auth) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/auth)
- **Cache:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/category) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/category)
- **Feign:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/api) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/api)
- **Kafka:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/notification) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/notification)
- **Mocks:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/game) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/game)
- **Amazon Web Services:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/aws) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/aws)
- **Databases - MongoDB:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/product) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/product)
- **Databases - PostgreSQL:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/invoice) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/invoice)
- **Patterns - Mediator:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/book) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/book)
- **Patterns - Observer:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/car) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/car)
- **Patterns - Outbox:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/movie) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/movie)
- **Patterns - Strategy:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/payment) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/payment)
- **Logic - Business Rules:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/user) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/user)
- **Logic - Flat Object to Nested Object:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/location) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/location)
- **Logic - Groups:** [Main](https://github.com/rafaelfgx/Java/tree/main/source/src/main/java/com/company/architecture/group) | [Tests](https://github.com/rafaelfgx/Java/tree/main/source/src/test/java/com/company/architecture/group)