Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/etienne-bechara/crux
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).
https://github.com/etienne-bechara/crux
backend cache fastify framework ioredis logs loki metrics mikro-orm nestjs nodejs openapi opentelemetry orm prometheus redoc swagger tempo tracing
Last synced: about 14 hours ago
JSON representation
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).
- Host: GitHub
- URL: https://github.com/etienne-bechara/crux
- Owner: etienne-bechara
- License: mit
- Created: 2020-11-02T21:09:57.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-13T19:15:30.000Z (9 months ago)
- Last Synced: 2024-04-13T20:04:32.259Z (9 months ago)
- Topics: backend, cache, fastify, framework, ioredis, logs, loki, metrics, mikro-orm, nestjs, nodejs, openapi, opentelemetry, orm, prometheus, redoc, swagger, tempo, tracing
- Language: TypeScript
- Homepage:
- Size: 2.94 MB
- Stars: 10
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# CRUX
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=crux&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=crux)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=crux&metric=coverage)](https://sonarcloud.io/summary/new_code?id=crux)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=crux&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=crux)
[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=crux&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=crux)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=crux&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=crux)A Node.js all-in-one opinionated package intended for backend projects.
- Framework: [NestJS](https://docs.nestjs.com/)
- HTTP Server: [Fastify](https://www.fastify.io/docs/latest/)
- HTTP Client: [Fetch](https://nodejs.org/dist/latest-v18.x/docs/api/globals.html#fetch)
- Caching: [ioredis](https://www.npmjs.com/package/ioredis) (distributed) or in-memory (local)
- ORM: [MikroORM](https://mikro-orm.io/docs/installation)
- Swagger: [Redoc](https://github.com/mxarc/nestjs-redoc)
- Logs: [Loki](https://grafana.com/docs/loki/latest/api/)
- Metrics: [Prometheus](https://github.com/siimon/prom-client)
- Tracing: [Tempo](https://grafana.com/docs/tempo/latest/api_docs/) with [OpenTelemetry](https://github.com/open-telemetry/opentelemetry-js)### How to Use
- [Framework (New Projects)](docs/usage/framework.md)
- [Standalone (Existing Projects)](docs/usage/standalone.md)
- [Testing](docs/usage/test.md)### Curated Modules
- [\[App\] Fastify Adapter](docs/module/app.md)
- [\[Cache\] Inbound Caching](docs/module/cache.md)
- [\[Config\] Environment Variables](docs/module/config.md)
- [\[Context\] Request, Response and Metadata](docs/module/context.md)
- [\[Doc\] Redoc and OpenAPI](docs/module/doc.md)
- [\[Http\] Fetch API](docs/module/http.md)
- [\[Log\] Loki](docs/module/log.md)
- [\[Memory\] Volatile Storage with TTL](docs/module/memory.md)
- [\[Metric\] Prometheus](docs/module/metric.md)
- [\[ORM\] MikroORM and Schema Sync](docs/module/orm.md)
- [\[Promise\] Retry, Timeout and Limiting](docs/module/promise.md)
- [\[Trace\] Open Telemetry](docs/module/trace.md)### Dependencies
This framework is frequently revised in order to keep dependencies up to date.
However, the following packages are currently behind latest version:
- `[email protected]` Latest requires ESM