Skip to content

NestDevLab/nestjs-yalc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

377 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

title NestJS-YALC
description A CrudGen-first toolkit for generating NestJS REST and GraphQL backends without giving up explicit architecture.
permalink /
layout landing
REST GraphQL Dataloader API Strategy Events Traces
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

About

Yet another library collection for NestJS

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors