GitHunt
MA

mausic/turborepo-next-nest-boilerplate

The turborepo boilerplate with Next.js, Nest.js, Clerk, Redis and other

Tubrorepo Boilerplate with Next.js, Nest.js, Clerk, Redis, etc

THIS IS A WORK IN PROGRESS!
Use it at your own risk

Using this boilerplate

The philosophy of this repo is "Fork you!":

  1. Fork the repo
  2. Do whatever you want
  3. ...
  4. PROFIT!!!

What's inside?

This Turborepo includes the following packages/apps:

Apps and Packages

  • web: a Next.js app with a Tailwind v4 and basic shadcn/ui dashboard layout and Clerk authentication [WIP]
  • api a Nest.js app with a basic setup (clerk auth, redis caching, swagger docs) [WIP]
  • @repo/ui: a stub React component library shared by both web and docs applications [WIP]
  • @repo/eslint-config: eslint configurations (includes eslint-config-next and eslint-config-prettier)
  • @repo/typescript-config: tsconfig.jsons used throughout the monorepo
  • @repo/db: a Prisma ORM database as a package that may be used in apps
  • @repo/redis a Redis in-memory storage docker setup

Each package/app is 100% TypeScript.

Utilities

This Turborepo has some additional tools already setup for you:

Turbo

This repo is fully configured with turbo. It means that running turbo dev will preconfigure all necessary development services (docker containers including) and afterwards will start all the apps.

Build

To build all apps and packages, run the following command:

cd my-turborepo
pnpm build

Develop

To develop all apps and packages, run the following command:

cd my-turborepo
pnpm dev

Remote Caching

Tip

Vercel Remote Cache is free for all plans. Get started today at vercel.com.

Turborepo can use a technique known as Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.

By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:

cd my-turborepo
npx turbo login

This will authenticate the Turborepo CLI with your Vercel account.

Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:

npx turbo link

Contribution

I don't really believe that somebody will ever find this repo and will decide to contribute, but you do -> please make a PR

Learn more about the power of Turborepo:

Roadmap

API

  • implement throttling
  • imlpement microservices via NATS

WEB

  • implement onboarding flow
  • implement organizations module from Clerk

UI

  • implement shadcn/ui package

DOCS

  • implement docs web app (via mintlify probably?)

Realeases

  • imlpement web app with releases or a notifications module?

Languages

TypeScript90.9%JavaScript4.1%CSS2.9%Shell2.0%Handlebars0.1%

Contributors

GNU General Public License v3.0
Created March 10, 2025
Updated March 10, 2025
mausic/turborepo-next-nest-boilerplate | GitHunt