Zenstack

screenshot of Zenstack
nextjs
svelte
prisma

Fullstack TypeScript toolkit that enhances Prisma ORM with flexible Authorization layer for RBAC/ABAC/PBAC/ReBAC, offering auto-generated type-safe APIs and frontend hooks.

Overview

ZenStack is a Node.js/TypeScript toolkit that enhances the development of a web app's backend by extending Prisma ORM. It introduces a data modeling language called "ZModel" and implements a flexible access control layer around Prisma. ZenStack aims to save time by reducing boilerplate code and allowing developers to focus on building real features.

Features

  • ZModel: ZenStack introduces a data modeling language called ZModel, which extends the Prisma schema language with custom attributes and functions. It provides a flexible access control layer around Prisma.
  • Runtime enhancements: ZenStack creates transparent proxies around Prisma clients at runtime to intercept queries and mutations and enforce access policies.
  • Automatic RESTful APIs: ZenStack includes server adapter packages that help wrap an access-control-enabled Prisma client into backend CRUD APIs that can be safely called from the frontend.
  • Generated client libraries (hooks): Plugins in ZenStack can generate strong-typed client libraries that communicate with the aforementioned APIs.
nextjs
Next.js

Next.js is a React-based web framework that enables server-side rendering, static site generation, and other powerful features for building modern web applications.

svelte
Svelte

Svelte is a modern front-end framework that compiles your code at build time, resulting in smaller and faster applications. It uses a reactive approach to update the DOM, allowing for high performance and a smoother user experience.

prisma
Prisma

Prisma is a server-side library that helps developers read and write data to the database in an intuitive, efficient and safe way.

fullstack
Fullstack

A fullstack boilerplate provides a starter application that includes both frontend and backend. It should include database, auth, payments, user roles and other backend services to build a fully featured saas or webapps.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.