NestJS-YALC
NestJS-YALC logo

NestJS - Yet Another Library Collection

Production-grade NestJS, generated from your domain model.

Define resources once. NestJS-YALC generates CRUD APIs, protects service boundaries with API Strategy, and standardizes events, errors, and observability with EventManager.

  • CRUD Generation
  • API Strategy
  • EventManager
  • Observability

Three things matter most.

The project is built around the three parts that usually decide whether a NestJS backend stays maintainable in production.

01

CRUD Generation

Turn entity and DTO metadata into generated REST controllers, GraphQL resolvers, services, repositories, and dataloaders that share one contract.

Read CrudGen docs

02

API Strategy

Put module-to-module and service-to-service communication behind stable strategy tokens, so local calls, HTTP calls, and future transports can change without rewriting the caller.

Read API Strategy docs

03

EventManager

Standardize events, structured logs, HTTP-aware errors, and observability hooks with `YalcEventService` and OpenTelemetry integration patterns.

Read EventManager docs

Used in real production contexts.

The framework patterns have been used in backend work for teams and products that needed stronger NestJS foundations.

Start from one resource.

The skeleton app is the smallest complete example: one resource definition exposes generated REST and GraphQL over an in-memory SQLite app.

export const usersResource = CrudGenResourceFactory<SkeletonUser>({
  entityModel: SkeletonUser,
  backend: {
    service: { dbConnection: 'default', entityModel: SkeletonUser },
    dataloader: { databaseKey: 'guid' },
  },
  graphql: {
    resolver: {
      dto: SkeletonUserType,
      input: {
        create: SkeletonUserCreateInput,
        update: SkeletonUserUpdateInput,
        conditions: SkeletonUserCondition,
      },
      prefix: 'SkeletonModule_',
    },
  },
  rest: { dto: SkeletonUserType, path: 'users', idField: 'guid' },
});

The wiki stays where docs belong.

The landing page is only the entry point. The full documentation still uses the Git-Wiki theme with search, navigation, page lists, and the existing reference content.

New to the project?

Start with the short setup path, then open the skeleton app and copy the resource factory pattern into your own module.

Go to getting started

Need the full wiki?

The documentation index keeps the guide list, repository notes, test commands, planning docs, and every existing reference page together.

Open the documentation index