Introduction

Modern microservices for Post-Kubernetes Era.

Monorepo(apps, libs) project to showcase workspace setup with multiple apps and shared libraries

Features

  1. Polyglot - Support multiple languages (java, kotlin, groovy)

  2. Support multiple app frameworks (apache-beam, cli, micronaut, quarkus)

  3. Support multiple serialization methods (JSON, Avro, ProtoBuf)

  4. A type-safe cascading configuration with konf

  5. Integrated with best testing frameworks (kotest , MockK)

  6. Build lightweight Docker and OCI images with Jib

  7. Build native binaries using GraalVM

  8. Cloud Native (Service Mesh, health checks, observability)

  9. Platform independent Observability instrumentation via OpenTelemetry

  10. Deployment automation with kustomize and Event-driven Autoscaling with KEDA

  11. End-to-End Google Cloud DevOps flow pop-kustomize

Check Version License

Quality

Quality Gate Status Maintainability Rating Security Rating Reliability Rating Bugs Vulnerabilities

Sub Modules

Setup

Prerequisites

IntelliJ Plugins

Contribution

Pre-commit checks

Run tests, lint, coverage for all subprojects

Code Quality

Software Composition Analysis (SCA) tool that attempts to detect publicly disclosed vulnerabilities contained within a project’s dependencies.

Maintenance

Run

Docker

start app dependencies: postgres, redis

start optional CI/CD infra dependencies: sonarqube, nexus

Dashboard access

  • SonarQube → Browser http://localhost:9000 → user: admin, password: admin

  • Grafana → Browser http://localhost:3000/plugins/redis-app/ → user: admin, password: admin

  • Redis Insight → Browser http://localhost:8001/

  • Jaeger → Browser http://localhost:16686

  • Kibana → Browser http://localhost:5601

  • Prometheus → Browser http://localhost:9090

See gradle commands for this project.

Apps

Apache Beam Pipelines

Explore Wordcount Pipeline

Explore Streaming Ingestion Pipeline

Explore Classifier Pipeline

Quarkus

Explore REST, OpenAPI, OpenID Connect, API

Explore GraphQL API

Kotlin-gRPC

Explore Account-gRPC API

Explore Kotlin-gRPC API

Explore Kotlin-gRPC API

Spring

Explore Spring-RSocket Chat APP

Explore Spring CRUD + Redis Search API

Svelte

Explore SvelteKit WebApp

Libs

Reusable libraries

Explore Apache Beam Kotlin Extensions

Explore Shared gRPC Components

Shared code within this repo

Explore Shared Core Code

Explore Shared Model Objects

Explore Shared Pipelines Code

Explore Shared Spring Services Code

Explore Shared Spring GraphQL Services Code

Explore Shared ProtoBuf Contracts

Explore Shared Test Fixtures

Inspiration

Last updated

Was this helpful?