{"repo":"lucassm02/nodejs-template","free":true,"listed":false,"github":"https://github.com/lucassm02/nodejs-template","clone":"git clone https://github.com/lucassm02/nodejs-template.git","description":"Node.js/TypeScript microservice template with Fastify, Clean Architecture, Yup validation, MongoDB, MSSQL/Knex, RabbitMQ, Agenda workers, cache, observability, Helm generator, and layered Jest test suites.","language":"TypeScript","stars":13,"topics":["cache","clean-architecture","fastify","mongodb","nodejs","rabbitmq","sql","template","typescript","websocket"],"license":null,"category":"databases-storage","readme_excerpt":"Template Microservice Base template for Node.js/TypeScript microservices with Fastify, Clean Architecture, Yup validation, MongoDB, MSSQL/Knex, RabbitMQ, Agenda workers, cache, observability, Helm, and separate test suites per layer. The goal of this template is to deliver a ready-made structure for starting a new service while maintaining consistent patterns for routes, controllers, middlewares, usecases, infrastructure, factories, tests, and deployment. Documentation is available in English (en-us) and Português (pt-br) . Features - HTTP API with Fastify, directory-based routes, and configurable base URI. - WebSocket with Socket.IO and dedicated validation. - Flow manager for declarative flow selection. - Request validation with Yup, case-insensitive mode by default, optional strict mode. - MSSQL with Knex and MongoDB with Mongoose. - RabbitMQ for consumers and publishing to queues/exchanges. - Agenda workers with optional dashboard. - Local cache with node-cache and external cache with Memcached. - Logs with Winston, persistence to Mongo, ElasticSearch, and Elastic APM. - Message/data reprocessing. - Helm generator based on .env per environment. - Jest with unit, integration, and e2e suites. Requirements - Node.js compatible with the project. - Yarn 1.x. - Docker, if you use databases, RabbitMQ, Memcached, or Elastic locally. - Access to external services configured in .env , when enabled. Quick Start By default, set SERVER ENABLED=true and SERVER PORT=3000 . Disable depen","default_branch":null,"files":null,"tree":[],"storefront":"/r/lucassm02","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/lucassm02/nodejs-template/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}