Turborepo (NestJS + Prisma + NextJS + Tailwind + Typescript + Jest) Starter

This is fullstack turborepo starter. It comes with the following features.

  • ✅ Turborepo
  • ✅ Nestjs
    • ✅ Env Config with Validation
    • ✅ Prisma
  • ✅ NextJS
    • ✅ Tailwind
    • ✅ Redux Toolkit Query
  • ✅ Testing using Jest
  • ✅ Github Actions
  • ✅ Reverse Proxy using Nginx
  • ✅ Docker Integration
  • ✅ Postgres Database
  • ✅ Package scripts using NPS

What's inside?

This turborepo uses Yarn as a package manager. It includes the following packages/apps:

Apps and Packages

  • api: a NestJS app
  • web: a Next.js app
  • ui: a stub React component library used by web.
  • config: eslint, nginx and tailwind (includes eslint-config-next and eslint-config-prettier)
  • tsconfig: tsconfig.jsons used throughout the monorepo

Each package/app is 100% TypeScript.

Utilities

This turborepo has some additional tools already setup for you:

Setup

This starter kit is using turborepo and yarn workspaces for monorepo workflow.

Prerequisites

  • Install nps by running
npm i -g nps
  • Make sure docker and docker-compose are installed. Refer to docs for your operating system.

Configure Environment

  • Frontend
    • cd apps/web && cp .env.example .env
  • Backend
    • cd apps/api && cp .env.example .env

Install Dependencies

Make sure you are at root of the project and just run

nps prepare

Build

To build all apps and packages, run the following command at the root of project:

nps build

Develop

To develop all apps and packages, run the following command at the root of project:

nps dev

The app should be running at http://localhost with reverse proxy configured.

Other available commands

Run nps in the terminal to see list of all available commands.