/prisma-examples

🚀 Ready-to-run Prisma example projects

Primary LanguageTypeScriptApache License 2.0Apache-2.0


Prisma Examples

Ready-to-run Prisma example projects 🚀

Website   â€¢   Docs   â€¢   Blog   â€¢   Slack   â€¢   Twitter   â€¢   Demo videos

test keep-prisma-dependencies-updated keep-dev-branches-in-sync-with-latest

View full CI status


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).

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)
graphql-nextjs Next.js app with a GraphQL API (using Apollo Server and GraphQL Nexus)

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 the SDL-first approach of graphql-tools
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-express GraphQL server based on Express and Nexus Schema
graphql-express-sdl-first GraphQL server based on Express and the SDL-first approach of graphql-tools
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 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 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

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

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 the SDL-first approach of graphql-tools
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

  • 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: An open-source link shortener with built-in analytics and free custom domains
  • Umami: A simple, fast, privacy-focused alternative to Google Analytics
  • Rallly: A self-hostable doodle poll alternative (based on Next.js, tRPC, and TailwindCSS)
  • snoopForms: An open-source alternative to Typeform (easy online surveys)
  • 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)
  • ironfish-api: Public API for Iron Fish (A novel cryptocurrency focused on privacy and accessibility)
  • 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
  • Tottem: Fullstack app for "social library management" (based on Next.js)

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
test latest latest
test dev dev
test patch-dev patch-dev
CI Status
keep-prisma-dependencies-updated
keep-dev-branches-in-sync-with-latest