Skip to content

viniciusvasti/practicing-quarkus-ecommerce

Repository files navigation

Repository to practice Java Quarkus Platform

Running

On Docker (locally with Docker Compose)

  1. Make sure you have Docker and Docker Compose installed
  2. From the root folder, run chmod +x run-local.sh
  3. Then run ./run-local.sh
  4. To stop the services, run ./run-local.sh stop

On Kubernetes (locally with Kind)

  1. Make sure you have Kind installed
  2. Go to infra/k8s/kind folder
  3. Run ./create-cluster.sh
  4. Move back to the k8s folder
  5. Run kubectl apply -f . to all the resources
  6. Run ./destroy-cluster.sh to destroy the cluster

Or simply go to the root folder and run ./run-local-on-kind.sh.
Then ./run-local-on-kind.sh stop to stop the services.

I'm using Lens to manage my Kubernetes cluster, but it's not necessary. You can use kubectl to do the same.

What Software Engineering Principles, Patterns, and Practices are being applied?

  • SOLID

  • Clean Code

  • Clean Architecture

  • DTO design pattern (Data Transfer Object)

  • Monolith

  • REST API (JAX-RS)

  • RESTFull API Maturity Level 3

  • API Specification (OpenAPI + Swagger)

  • SQL Database (Postgres)

  • NoSQL

  • Database Migrations (Flyway)

  • GraphQL API

  • Health Check (SmallRye / MicroProfile)

  • Caching (Redis)

  • Application Event Bus

  • Distributed Logging

  • Microservices

  • API Gateway

  • Synchronous Communication

  • Asynchronous Communication

  • Event-Driven

  • Microservices Orchestration

  • Microservices Choreography

  • CQRS

  • Event Sourcing

  • Pagination

  • Unit Tests (JUnit)

  • Integration Tests (JUnit + Rest Assured)

  • End-to-End Tests (Karate)

  • Mocks (Mockito)

  • Stubs (Mockito)

  • Spies (Mockito)

  • Coverage check

  • Docker Compose

  • CI (GitHub Actions)

  • Sonar check

  • CD

  • Kubernetes (AWS)

  • Local Kubernetes (Kind)

  • Redis

  • Observability

  • Monitoring (Jaeger)

About

A repository to practice modern backend with Quarkus/Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published