Welcome to ZenStack
Hey 👋, I'm glad you found us here.
If you are using TypeScript to build APIs or web apps above a SQL database, you are in the right place. ZenStack is an open-source toolkit built above Prisma - the most popular ORM for Node.js. ZenStack pushes Prisma's power to a new level and boosts the development efficiency of every layer of your stack - from access control, to API development, and all the way up to the frontend.
Some of the most common use cases of ZenStack include:
- Multi-tenant SaaS
- Applications with complex access control requirements
- CRUD-intensive API or web apps
ZenStack is not opinionated about your choice of framework. It can be used with any of them.
Features​
-
ORM with built-in access control, data validation, polymorphic relations, and more
-
Auto-generated CRUD API - RESTful & tRPC
-
Auto-generated OpenAPI documentation
-
Auto-generated frontend data query hooks - SWR & TanStack Query
-
Integrations with popular authentication services and full-stack/backend frameworks
-
A plugin system for great extensibility
Find the Learning Path That Fits You​
ZenStack is a comprehensive toolkit that touches a wide range of topics. For most developers, we'd highly recommend you start with the The Complete Guide to build a solid understanding of each layer of ZenStack's functionalities. The guide is designed to lay out concepts gradually and lead you through the learning journey from using ZenStack just as a better ORM, to leveraging its total power in full-stack development. The guide is pretty long, but trust me you'll enjoy the reading 😉.
If you're the kind of inpatient developer who wants to get your hand dirty ASAP, you can also jump straight to the Quick Start guide. It shows how to quickly set up a ZenStack project targeting the framework of your choice.
Other Resources​
- Recipes - Mini guides for completing specific tasks using ZenStack
- Samples - A catalog of sample projects using different frameworks
- Reference - Detailed documentation for the DSL, CLI, APIs, and plugins
- FAQ - Frequently asked questions
Ready to roll? Let's get started 🚀