Introduction
ZenStack is a Node.js/TypeScript toolkit that simplifies the development of a web app's backend. It supercharges Prisma ORM with a powerful access control layer and unleashes its full potential for full-stack development. We created it with the belief that developers can build better applications by:
- Keeping a single source of truth for core business logic
- Being more declarative
- Writing less code
To achieve these goals, ZenStack progressively enhances Prisma at multiple levels:
🛠️ An extended schema language that supports custom attributes
🔐 Access policies and data validation rules
🚀 Automatic CRUD APIs - RESTful, tRPC
🤖 Generating client-side data access libraries (aka hooks) - SWR, TanStack Query
🧩 A plugin system for great extensibility
In the following sections, we'll guide you through understanding each layer of the extensions, and you'll see how ZenStack can help you build a full-stack web app much faster.