This is a full-stack React application built with Next.js, Prisma, and tRPC with WebSocket support.
- π§ββοΈ 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
This project uses Node.js and PNPM.
It also requires a local PostgreSQL database for development, which Prisma will use to create, migrate and read from a schema.
Before you begin, cp .env .env.local
in the project and adjust the connection string to match your local PostgreSQL setup, e.g. DATABASE_URL="postgresql://<YOUR_USER>:<YOUR_PASSWORD>@localhost:5432..."
, making sure these credentials allow you to create and modify databases.
Next, install the dependencies:
pnpm install
Then, start the development server:
pnpm dev
Open http://localhost:3000 with your browser to see the result.
pnpm build #Runs prisma generate, prisma migrate, and next build
pnpm db-nuke #Resets the local database
pnpm dev #Starts the Next.js and WebSocket server
pnpm dx #Starts the PostgreSQL database, runs migrations, seeds the database, and starts the Next.js server
pnpm test-dev #Runs end-to-end tests on the development server
pnpm test-start #Runs end-to-end tests on next start - build required before
pnpm test:unit #Runs normal Vitest unit tests
pnpm test:e2e #Runs end-to-end tests
(Optional) The project contains a render.yaml
"Blueprint" which makes the project deployable on Render.
Contributions are welcome! Please open an issue or submit a pull request.
This project is licensed under the terms of the GNU Affero General Public License.
Contact