Giter VIP home page Giter VIP logo

examples-next-prisma-websockets-starter's Introduction

Prisma + tRPC + WebSockets

Try demo http://websockets.trpc.io/

Features

  • ๐Ÿง™โ€โ™‚๏ธ E2E type safety with tRPC
  • โšก Full-stack React with Next.js
  • โšก WebSockets / Subscription support
  • โšก Database with Prisma
  • ๐Ÿ” Authorization using next-auth
  • โš™๏ธ VSCode extensions
  • ๐ŸŽจ ESLint + Prettier
  • ๐Ÿ’š CI setup using GitHub Actions:
    • โœ… E2E testing with Playwright
    • โœ… Linting

Setup

pnpm create next-app --example https://github.com/trpc/trpc --example-path examples/next-prisma-websockets-starter trpc-prisma-websockets-starter
cd trpc-prisma-websockets-starter
pnpm i
pnpm dx

Deployment

Using Render

The project contains a render.yaml "Blueprint" which makes the project easily deployable on Render.

The database is setup with a starter plan, but you can use a free plan for 90 days.

Go to dashboard.render.com/blueprints and connect to this Blueprint and see how the app and database automatically gets deployed.

You will either need to create an environment group called trpc-websockets with environment variables or remove that from render.yaml in favor of manual environment variables that overrides the ones in /.env.

Files of note

Path Description
./prisma/schema.prisma Prisma schema
./src/api/trpc/[trpc].tsx tRPC response handler
./src/server/routers Your app's different tRPC-routers

Commands

pnpm build      # runs `prisma generate` + `prisma migrate` + `next build`
pnpm db-nuke    # resets local db
pnpm dev        # starts next.js + WebSocket server
pnpm dx         # starts postgres db + runs migrations + seeds + starts next.js
pnpm test-dev   # runs e2e tests on dev
pnpm test-start # runs e2e tests on `next start` - build required before
pnpm test:unit  # runs normal Vitest unit tests
pnpm test:e2e   # runs e2e tests

Created by @alexdotjs.

examples-next-prisma-websockets-starter's People

Contributors

andykenward avatar ixahmedxi avatar joshuakgoldberg avatar juliusmarminge avatar kamilogorek avatar katt avatar lioness100 avatar nick-lucas avatar nilskj avatar quiibz avatar sachinraja avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.