{"repo":"etienne-bechara/crux","free":true,"listed":false,"github":"https://github.com/etienne-bechara/crux","clone":"git clone https://github.com/etienne-bechara/crux.git","description":"Node.js backend package including: framework (NestJS), HTTP server (Fastify), HTTP client (Fetch), distributed caching (ioredis), ORM (MikroORM), swagger documentation (Redoc), logger (Loki), metrics (Prometheus) and tracing (Tempo with OpenTelemetry).","language":"TypeScript","stars":14,"topics":["nestjs","backend","cache","fastify","framework","ioredis","logs","nodejs","redoc","swagger"],"license":"MIT","category":"analytics","readme_excerpt":"CRUX CRUX is an opinionated Node.js framework package designed for backend projects. It integrates a range of libraries and patterns commonly used in distributed, stateless applications that require database access. - Framework: NestJS - HTTP Server: Fastify - HTTP Client: Fetch - Caching: ioredis (distributed) or in-memory (local) - ORM: MikroORM - OpenAPI: Scalar - Logs: Loki - Metrics: Prometheus - Tracing: Tempo with OpenTelemetry --- Disclaimer This framework was created to avoid rebuilding similar boilerplates for distributed, stateless backend projects with database access. It is highly opinionated and should be treated more as a reference for creating your own solutions rather than as a production-ready product. --- Installation 1. Create and initialize a new Node.js project , then install TypeScript, its types, a live-reload tool, and this package. We recommend using pnpm as your package manager, and ts-node-dev for live reloading: 2. Create a main.ts file in a /source folder with the following content: 3. Add a dev script in your package.json : 4. Start the application : You can test it by sending a request to GET / . You should receive a successful response with a 204 status code. --- Development Using this framework mostly follows the official NestJS Documentation. Familiarize yourself with the following core NestJS concepts before continuing: - Modules - Controllers - Providers Key Differences 1. Imports from @bechara/crux All NestJS imports, such as @nestjs/comm","default_branch":null,"files":null,"tree":[],"storefront":"/r/etienne-bechara","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/etienne-bechara/crux/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."}