guest@ldsoftware.it:
  1. ~
  2. /software
  3. /webfleet
$

Webfleet

Webfleet is a playful attempt at learning microservice-oriented architectures, whilst creating something I like: stuff to make order.

Architectural details

Webfleet is not a piece of software, it is (rather, it’s going to be) a suite of different blocks that can be stacked together however the user likes to make a website. The main pieces can be described as

Architecture diagram

This is the theory behind the concept. Currently I am developing the following pieces:

Domain

To keep everything tidy and readable for humans, the domain structure will be reduced to the bare minimum, trying to implement a filesystem-like structure. The structure is composed by

As explained in the following schema

Domain diagram

Eventsourcing

After reading an endless number of papers on the subject of what would be the best way to implement a microservice architecture, I decided to give eventsourcing a shot.

I then proceeded to analyse which commands could be issued from an user and to determine the events that would be emitted when the command passes validation.

Here a small summary, that might not be yet complete, of the commands.

Commands diagram

Infrastructure

To test all this I decided to get a free plan on heroku. I also combined it with TravisCI to create pipelines that would first test and then deploy the code in each Pull Request on Github.

This proved useful to get insights on CI/CD.

Keep following this page for updates!