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 appweb
: a Next.js appui
: a stub React component library used byweb
.config
:eslint
,nginx
andtailwind
(includeseslint-config-next
andeslint-config-prettier
)tsconfig
:tsconfig.json
s used throughout the monorepo
Each package/app is 100% TypeScript.
Utilities
This turborepo has some additional tools already setup for you:
- Node Package Scripts for automation scripts
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
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.