Skip to content

ezhivitsa/microservices-starter

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published