Skip to content

Harmelodic/init-microservice

Repository files navigation

init-microservice

A basic template repo that contains starter code for developing a microservice.

Built in Java.

Showcases

  • README
  • .gitignore
  • Dependency Management (Maven)
  • Dependency Injection and Application Mgmt (Spring Boot & Starters)
  • Front Controller pattern
  • Service Layer pattern
  • Repository pattern
  • Event Publisher
  • Event Subscriber
  • HTTP Client
  • Unit Testing for Services (JUnit)
  • Provider Contract Testing the Controller (PACT)
  • Consumer Contract Testing the HTTP Client (PACT)
  • Automated publishing of Contract Testing Contracts and Results (PACT Broker, GitHub Actions)
  • Integration Testing the Repository (in-memory DB)
  • Integration Testing the Event Publisher (Testcontainers)
  • Integration Testing the Event Subscriber (Testcontainers)
  • Logging Config (Slf4j & Logback)
  • HTTP Client Config
  • Test & Package Automation (Maven, GitHub Actions)
  • Packaging into a Container (Jib, Maven)
  • Pushing Container to Registry (Jib, Maven, GitHub Actions)
  • Kubernetes resources (Kustomize)
  • Terraform Database (Google)
  • Terraform Pub/Sub (Google)
  • Deployment of Terraform (GitHub Actions)
  • Create Spans for Tracing (OpenTelemetry)
  • Create Domain-logic Metrics (Micrometer)
  • Auto-updates (Renovate)