microservice-controller
v0.1.1
Published
A non intrusive set of tools to help structure and test simple microservices based on REST APIs using expressjs and typescript.
Downloads
224
Readme
Microservice Controller (BETA)
A non intrusive set of tools to help structure and test simple microservices based on REST APIs using expressjs and typescript.
🚨 Build Health
- vulnerabilities audit
- licenses summary
- unit test coverage report
- integration test coverage report
- integration tests report
✨ Features
- ExpressController : a set of non-intrusive decorators to create epressjs applications
- EnvConfig : a config manager to handle multiple environments configurations
- Status : a module to export liveness end points
🎧 Dev Features
- Typescript libraty compilation
- Unit tests using jest
- Integration tests using cucumber
- Code quality repports
- Swagger documentations
- ESLint for static code analyse
- Prettier for code style consistency
- Editor config settings for file format consistency
- Versioned yarn as package manager
- Husky in order to control push process and commit rules
- Commit linter with standards versions following conventions of conventional commits
- Change log automatic generation
- Version bump management based on commit categories
⚙️ Setup
- run the command
make setup
to setup automatically your local environment with development tools or follow the step by step.
🎁 How to use it
Run make dev
in order to develop and start docker images in dev mode. Or run make
to see all available commands.
Otherwise, if you prefer, you can run scripts directly from the project code. Run yarn run
to see all scripts configurated on package.json
, exemple : yarn start:watch
to start a stand alone instance of the server in watch mode.
💎 How to test it
Run make test
in order to run all pipeline tests or run specifically a test listed on project :
make tl
: static test on src codemake tr
: vulnerability test on package and its dependenciesmake tu
: unit test on src code
🚀 CI / CD
This project follows the gitflow Workflow to implement continuous integration and continuous deployement.
📖 Documentations
Run yarn doc:swagger
to generate the swagger file with the project API.
🏆 Quality
In order to monitoring the quality, this project is equiped with sonar configuration. You can find the sonar results in sonar.
♻️ Contributing
Do you want to evolve this project ? Your are more than welcome :-) Take a look in our code of conduct to contribute and the process for submitting pull requests to us.