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).
| Demo | Description |
|---|---|
nextjs-api-routes |
Next.js app with a REST API (using Next.js API routes) |
nextjs-graphql |
Next.js app with a GraphQL API (using Apollo Server and GraphQL Nexus) |
nextjs-trpc |
Next.js app with tRPC |
nuxt |
Nuxt.js app with a REST API |
sveltekit |
SvelteKit app using SvelteKit’s actions and load functions |
remix |
Remix app |
nuxt-prisma-module |
A nuxt example app using the Prisma Nuxt module |
| Demo | Description |
|---|---|
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 |
fastify-graphql |
GraphQL server based on Fastify, Mercurius, and the SDL-first approach of graphql-tools |
fastify-graphql-sdl-first |
GraphQL server based on Fastify, Mercurius, and the SDL-first approach of graphql-tools |
hapi-graphql |
GraphQL server based on Hapi and Nexus Schema |
hapi-graphql-sdl-first |
GraphQL server based on Hapi and the SDL-first approach of Apollo Server Integration for Hapi |
nest-graphql |
GraphQL server based on NestJS (code-first) |
nest-graphql-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 |
express |
REST API with Express |
fastify |
REST API with Fastify |
koa |
REST API with Koa |
hapi |
REST API with hapi |
nest |
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-client generatorThe following examples are fullstack examples using the new prisma-client generator:
| Demo | Description |
|---|---|
nextjs-starter-webpack |
A Next.js 15 starter that uses Webpack 5 as the bundler and runs on Node.js. |
nextjs-starter-turbopack |
A Next.js 15 starter powered by Turbopack (alpha) for bundling, running on Node.js. |
neextjs-starter-webpack-monorepo |
A monorepo-based Next.js 15 starter using Webpack 5 and Node.js, managed with pnpm. |
nextjs-starter-webpack-with-middleware |
A Next.js 15 starter with Webpack 5, running on Node.js for main pages and Vercel Edge Light for middleware. |
The accelerate folder contains examples of projects using Prisma Accelerate for connection pooling and global caching.
| Demo | Description |
|---|---|
starter |
A simple starter project using Prisma Accelerate’s caching and connection pooling |
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 |
The optimize folder contains examples of projects using Prisma Optimize to identify and improve the performance of slow queries.
| Demo | Description |
|---|---|
starter |
A Prisma Optimize starter app |
optimize-excessive-rows |
An example app demonstrating the “Excessive number of rows returned” recommendation provided by Optimize. |
optimize-full-table-scan |
An example app demonstrating the “Full table scans caused by LIKE operations” recommendation provided by Optimize. |
optimize-unindexed-column |
An example app demonstrating the “Query filtering on an unindexed column” recommendation provided by Optimize. |
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.
Built something awesome with Prisma? 🌟 Show it off with these badges, perfect for your readme or website.
[](https://prisma.io)
[](https://prisma.io)
If you have a security issue to report, please contact us at security@prisma.io