Skip to main content

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 and data validation

  • 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
  • Sample Catalog - 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 🚀