Contributing to open source can be a rewarding way to learn, teach, and build experience in just about any skill you can imagine.

The main reasons why I am contributing to open source are to:

  • Improve existing skills
  • Meet people who are interested in similar things
  • Find mentors and teach others
  • Build public artifacts that help me grow a reputation (and a career)

Domain Driven Design with Axon Framework

Name Description Technology
axon-statemachine-demo Explicit usage of Finite State Machine concept with Axon Framework - DDD concepts and OOP concepts are mixed together Java
axon-polymorphism-demo Axon Framework and OOP concepts (Inheritance, Polymorphism) Java
axon-contract-testing-demo Consumer Driven Contract Testing of multi (bounded)context applications, with Pact framework Java
axon-scale-demo Microservices deployment strategy to local Kubernetes cluster and local Docker daemon Java
axon-extension-spring-cloud-stream Axon extension which provides integration with Spring Cloud Stream by handling/forwarding events from/to RabbitMQ, Kafka and other binders supported by Spring Cloud Stream Java
digital-restaurant Multi-module maven project holding domain and application components, demonstrating usage of different infrastructural components (AxonServer, RabbitMQ, Kafka) with Monolithic and/or Microservices architectural styles Kotlin
axon-vanilla-java-demo Axon Vanilla Java Configuration API demonstration. No Spring ;) Java
axon-java-spring-maven-seed Seed for creating axon (spring boot) projects that are driven by maven Java
axon-kotlin-spring-maven-seed Seed for creating axon (spring boot) projects that are driven by maven Kotlin
axon-mongo-demo MongoDB as an event storage, and Axon Server as a routing mechanism Java
micro-company End-to-end best practices for building a cloud native, event driven microservice architecture Java


Name Description Technology
digital-restaurant-angular Opinionated approach to modular application project structure and patterns by practicing Atomic design methodology Angular / TypeScript

Spring Boot / Cloud / Reactive / Serverless

Name Description Technology
serverless-company Demonstrate best practices for building a serverless web application. Focus is on the Function as a Service or “FaaS” Java
reactive-company Demonstrate best practices for building a reactive web application. Focus is on the reactive programming Java
micro-ecommerce Demonstrate end-to-end best practices for building a cloud native, microservice architecture Java

Enterprise Content Management

Name Description Technology
alfresco-hr Example of content management application. BPM included. Alfresco / Java