| title | NestJS-YALC |
|---|---|
| description | A CrudGen-first toolkit for generating NestJS REST and GraphQL backends without giving up explicit architecture. |
| permalink | / |
| layout | landing |
The project is built around the three parts that usually decide whether a NestJS backend stays maintainable in production.
01
Turn entity and DTO metadata into generated REST controllers, GraphQL resolvers, services, repositories, and dataloaders that share one contract.
Read CrudGen docs02
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 docs03
Standardize events, structured logs, HTTP-aware errors, and observability hooks with `YalcEventService` and OpenTelemetry integration patterns.
Read EventManager docsThe framework patterns have been used in backend work for teams and products that needed stronger NestJS foundations.
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 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.
Start with the short setup path, then open the skeleton app and copy the resource factory pattern into your own module.
The documentation index keeps the guide list, repository notes, test commands, planning docs, and every existing reference page together.
