Awesome
<br /> <div align="center"> <h1>Prisma Examples</h1> <p><h3 align="center">Ready-to-run Prisma example projects 🚀</h3></p> <a href="https://www.prisma.io/">Website</a> <span> • </span> <a href="https://www.prisma.io/docs/">Docs</a> <span> • </span> <a href="https://www.prisma.io/blog">Blog</a> <span> • </span> <a href="https://pris.ly/discord/">Discord</a> <span> • </span> <a href="https://twitter.com/prisma">Twitter</a> <span> • </span> <a href="https://www.youtube.com/watch?v=0RhtQgIs-TE&list=PLn2e1F9Rfr6k9PnR_figWOcSHgc_erDr5&index=1">Demo videos</a> </div> <hr> <div align="center"> </div> <hr>This repository contains a number of ready-to-run example projects demonstrating various use cases of Prisma. Pick an example and follow the instructions in the corresponding README.
You can also find links to real-world and production ready examples further below in this README.
Are you missing an example? Please feel free to open an issue (read the contribution guidelines for more info).
<!-- Please keep the absolute URLs so it's easier to copy&paste to prisma/prisma/README.md -->Prisma Accelerate
The accelerate
folder contains examples of projects using Prisma Accelerate for connection pooling and global caching.
Demo | Description |
---|---|
nextjs-starter | A Next.js project using Prisma Accelerate's caching and connection pooling |
svelte-starter | A SvelteKit project using Prisma Accelerate's caching and connection pooling |
solidstart-starter | A Solidstart project using Prisma Accelerate's caching and connection pooling |
remix-starter | A Remix project using Prisma Accelerate's caching and connection pooling |
nuxt-starter | A Nuxt.js project using Prisma Accelerate's caching and connection pooling |
astro-starter | An Astro project using Prisma Accelerate's caching and connection pooling |
Prisma Pulse
The pulse
folder contains examples of projects using Prisma Pulse to listen to real-time database change events.
Demo | Description |
---|---|
starter | A Prisma Pulse starter app |
email-with-resend | An example app to send emails to new users using Prisma Pulse and Resend |
fullstack-leaderboard | A live leaderboard (built with Next.js) |
fullstack-simple-chat | A simple chat app (built with Next.js & Express) |
product-search-with-typesense | A cron job that syncs data into Typesense (built with Hono.js) |
data-sync-with-bigquery | A script that automatically syncs data into Google BigQuery |
Prisma ORM (TypeScript)
Fullstack
Demo | Description |
---|---|
rest-nextjs-api-routes | Next.js app with a REST API (using Next.js API routes) |
rest-nextjs-api-routes-auth | Next.js app with a REST API (using Next.js API routes) and authentication (using NextAuth.js) |
rest-nextjs-express | Next.js app with a REST API (using Express) |
rest-nuxtjs | Nuxt.js app with a REST API |
graphql-nextjs | Next.js app with a GraphQL API (using Apollo Server and GraphQL Nexus) |
rest-sveltekit | SvelteKit app with a REST API |
sveltekit | SvelteKit app using SvelteKit's actions and load functions |
trpc-nextjs | Next.js app with tRPC |
remix | Remix app |
nuxt-prisma-nuxt-module | A nuxt example app using the Prisma Nuxt module |
Backend only
Demo | Description |
---|---|
graphql-apollo-server | GraphQL server based on @apollo/server and Nexus Schema |
graphql-auth | GraphQL server with email-password authentication & permissions |
graphql-sdl-first | GraphQL server based on GraphQL Yoga |
graphql-subscriptions | GraphQL server with realtime subscriptions based on apollo-server and Nexus Schema |
graphql-typegraphql | GraphQL server based on @apollo/server and TypeGraphQL |
graphql-typegraphql-crud | CRUD GraphQL API based on @apollo/server and TypeGraphQL |
graphql-fastify | GraphQL server based on Fastify, Mercurius, and the SDL-first approach of graphql-tools |
graphql-fastify-sdl-first | GraphQL server based on Fastify, Mercurius, and the SDL-first approach of graphql-tools |
graphql-hapi | GraphQL server based on Hapi and Nexus Schema |
graphql-hapi-sdl-first | GraphQL server based on Hapi and the SDL-first approach of Apollo Server Integration for Hapi |
graphql-nestjs | GraphQL server based on NestJS (code-first) |
graphql-nestjs-sdl-first | GraphQL server based on NestJS and the SDL-first approach of graphql-tools |
graphql | GraphQL server based on GraphQL Yoga and Pothos |
graphql-nexus | GraphQL server based on @apollo/server and Nexus Schema |
grpc | gRPC API including runnable client scripts for testing |
postgis-express | Demo of spatial queries using Postgis and Express |
rest-express | REST API with Express |
rest-fastify | REST API with Fastify |
rest-koa | REST API with Koa |
rest-hapi | REST API with hapi |
rest-nestjs | REST API with NestJS |
script | Usage of Prisma Client JS in a TypeScript script |
testing-express | Demo of integration tests with Jest, Supertest and Express |
Prisma ORM (JavaScript / Node.js)
Fullstack
Demo | Description |
---|---|
rest-nextjs | Next.js app with a REST API (using Next.js API routes) |
rest-nuxtjs | NuxtJS app with a REST API |
rest-sveltekit | SvelteKit app with a REST API |
Backend only
Demo | Description |
---|---|
graphql-apollo-server | GraphQL server based on @apollo/server |
graphql-auth | GraphQL server with email-password authentication & permissions |
graphql-sdl-first | GraphQL server based on GraphQL Yoga |
grpc | gRPC API including runnable client scripts for testing |
rest-express | REST API with Express |
rest-fastify | REST API with Fastify |
rest-koa | REST API with Koa |
script | Usage of Prisma Client JS in a Node.js script |
Deployment platforms
The projects in the deployment-platforms
directory show what "Prisma Client"-based deployment setups look like for various deployment providers. Learn more about deployment in the Prisma documentation.
Real-world & production-ready example projects with Prisma
- Inbox Zero: Open source email management tools to reach inbox zero fast
- NextCRM: An open-source Customer Relationship Management system (CRM)
- Papermark: An open-source DocSend alternative with built-in analytics and custom domains
- Hoppscotch: An open-source API development ecosystem
- FeastQR: An open-source SaaS online menu system for restaurants
- Formbricks: An open-source survey and experience management tool
- OpenformStack: An open-source form backend that allows you to collect form submissions without writing any backend code
- Documenso: An open-source alternative to Docusign
- abby: An open-source feature flag, remote config and A/B testing platform for developers
- ghostfolio: An open-source dashboard for your personal finances
- revert: An open-source unified API to build B2B product integrations
- Scholarsome: An interactive, studying system
- Dittofeed: An open-source customer engagement; intuitive marketing tools that scale
- Trigger.dev: Effortless automation built for developers (Zapier alternative)
- Webstudio: A NoCode visual design tool for building apps and websites
- Dyrector: A self-hosted container management platform
- reduced.to: An open-source link shortener
- Linen: An open-source alternative to Slack and Discord with lots of great features
- Coolify: An open-source & self-hostable Heroku / Netlify alternative
- Dub.co: An open-source link management platform for modern marketing teams
- Umami: A simple, fast, privacy-focused alternative to Google Analytics
- Rallly: A self-hostable doodle poll alternative (based on Next.js, tRPC, and TailwindCSS)
- Typebot: A conversational form builder that you can self-host
- Cal.com: An open-source alternative to Calendly (calender-based event scheduling service)
- Beam: A simple tool that allows members to write posts to share across your organization (based on Next.js)
- Dundring: An in-browser training application created to control and track you training with a smart bike trainer
- Expense.fyi: A tool for tracking and managing expenses
- Letterpad: A publishing platform for creatives
- Teable: A no-code real-time database built on Postgres with a simple interface for enterprise-level app development.
Starter kits
- T3 stack: Starter kit based on Next.js, TypeScript, tRPC, Prisma, Tailwind CSS and NextAuth.js
- Indie Stack: Remix Stack for deploying to Fly with SQLite, authentication, testing, linting, formatting
- Blues Stack: Remix Stack for deploying to Fly with PostgreSQL, authentication, testing, linting, formatting
Badges
Built something awesome with Prisma? 🌟 Show it off with these badges, perfect for your readme or website.
[![Made with Prisma](http://made-with.prisma.io/dark.svg)](https://prisma.io)
[![Made with Prisma](http://made-with.prisma.io/indigo.svg)](https://prisma.io)
About this repository
The latest
branch of this repository contains the examples with the latest stable version of Prisma CLI and Prisma Client (@latest
on npm). These dependencies are kept up to date with a GitHub Action workflow, which updates them every time a new version of Prisma is released.
There are also the automated branches dev
and patch-dev
, which mirror the code from latest
(synced via a GitHub Action workflow), but they use the respective development channels of Prisma CLI and Prisma Client from npm instead (@dev
and @patch-dev
, also updated via a GitHub Action workflow). Thanks to the test coverage of all projects, this can point us to incompatibilities early.
Security
If you have a security issue to report, please contact us at security@prisma.io
CI status
CI Status | Branch |
---|---|
latest | |
dev | |
patch-dev |
CI Status |
---|