Skip to content

Latest commit

 

History

History
34 lines (20 loc) · 2.46 KB

README.md

File metadata and controls

34 lines (20 loc) · 2.46 KB

Microservices-starter

license PRs Welcome

Watch on GitHub Star on GitHub

This project is example of building application using principles of microservices and microfrontend architecture. Also we used monorepository technique to combine all codebase inside one git repository.

Structure

In src directory contains 3 directories for 3 different purposes:

  1. src/backend-services - directory consist of services which built upon microservices approach.
  2. src/client-services - directory with services to handle microfrontends architecture (built using single-spa)
  3. src/packages - directory with common use packages which can be used in backend services or client services or both

In every service and package we have more detailed description of its functionality and structure.

Monorepository

For this project we have used monorepository approach. This has been implemented using yarn 2 workspaces. Therefore now we are able to use our custom packages from the directory src/packages like ordinary npm packages.

Commands

To write commands like installing npm dependencies we use make to write appropriate scripts. For example, to install npm dependencies for all workspaces to have to use command make deps in the root of the repository, or to build all packages from the directory src/packages you have to use command make build. Full list of available commands you can find in the Makefile.

Commits

We use projects lint-staged and husky to start tests on changed files. For example if you have changed files in authorization backend service we will start unit tests and lint tests for this service before commit.

License

Microservices starter is released under the MIT License.