Skip to content
Mohamed Taman edited this page Jun 4, 2020 · 3 revisions

Welcome to the Springy Store μServices wiki!

  • This project is a development of a small set of Spring Boot based Microservices projects that implement cloud-native intuitive, design patterns and coding best practices.

  • The project follows CloudNative recommendations and The Twelve-Factor app methodology for building software-as-a-service apps to show how μServices should be developed and deployed.

  • The project is using cutting edge technologies like Docker, Kubernetes, Elasticsearch Stack for logging and monitoring, Java SE 14, MySQL database, MongoDB, TDD, unit, integration & performance testing and Reactive Programming, and many more.


I am developing this project as stages, and Each such step will be a release in its own, so you can go back and forward between versions to see the differences and how adding things solve specific problems we face.

For example, in the first stage (1st release), I just created project structure, essential services' skeleton, integration between them, and finally, write integration testing as well as semi-automated testing for the complete services' functionality.

At the 1st stage, the Recommendation and Review microservices generate local in-memory data, and Store Service calls the other three services (Product, Recommendation, and Review) statically to generate client aggregate response for a specific product. Therefore, in:

  • The second stage I will introduce database integration, then in (done)
  • The third stage I will add Dockerization of our services and docker-compose, and in (done)
  • In the fourth stage, I will introduce service discovery, and so on.

Getting started

The first stage, aka (Release v1.0), is about creating and implementing a set of project Microservices.

Creating a Set of communicating Microservices (Release v1.0)

The following points are covered in this 1st stage (other stages topics will be documented in each release notice):

  • Introducing the microservice landscape as a diagram.
  • Generating skeleton for Store, Product, Recommendation, and Review microservices.
  • Adding RESTful APIs.
  • Handling all microservices error by one controller.
  • Testing the APIs manually using swagger.
  • Developing automated microservices integration tests in isolation.
  • Developing Blackbox automated tests to the microservice landscape.

Resources