🎓 Moleculer-based microservices project template for Typescript project.
- Moleculer v0.14 with full-detailed
moleculer.config.ts
file. - Common mono-repo project with a demo
greeter
service. - Sample database
products
service (with file-based NeDB in development & MongoDB in production). - Optional API Gateway service with detailed service settings.
- Beautiful static welcome page to test generated services & watch nodes and services.
- Optional Transporter & Cacher.
- Metrics & Tracing.
- Docker & Docker Compose & Kubernetes files.
- Unit tests with Jest.
- Lint with ESLint.
- Launch file for debugging in VSCode.
To install use the moleculer-cli tool.
$ moleculer init project-typescript my-project
$ moleculer init project-typescript moleculer-demo
Template repo: moleculerjs/moleculer-template-project-typescript
? Add API Gateway (moleculer-web) service? Yes
? Would you like to communicate with other nodes? Yes
? Select a transporter NATS (recommended)
? Would you like to use cache? Yes
? Select a cacher solution Memory
? Would you like to enable metrics? Yes
? Select a reporter solution Prometheus
? Would you like to enable tracing? Yes
? Select a exporter solution Console
? Add Docker & Kubernetes sample files? Yes
? Use ESLint to lint your code? Yes
Create 'moleculer-demo' folder...
? Would you like to run 'npm install'? Yes
npm run dev
: Start development mode (load all services locally without transporter with hot-reload & REPL)npm run start
: Start production mode (setSERVICES
env variable to load certain services)npm run cli
: Start a CLI and connect to production. Don't forget to set production namespace with--ns
argument in scriptnpm run lint
: Run ESLintnpm run ci
: Run continuous test mode with watchingnpm test
: Run tests & generate coverage reportnpm run dc:up
: Start the stack with Docker Composenpm run dc:logs
: Watch & follow the container logsnpm run dc:down
: Stop the stack with Docker Compose
moleculer-template-project-typescript is available under the MIT license.
Copyright (c) 2023 MoleculerJS