nestjs-nextjs-auth0

Monorepo with two backend and one frontend app to see how Auth0 SDK works.

Stars
5

Auth0 monorepo

This is a monorepo with two microservices and one Next.js app. This project is used to test the Auth0 SDK.

Setup Auth0

First of all, you need to create a new Auth0 API (under Applications menu).

Setup microservice-01

Now, you need to update .env file with your Auth0 API credentials. Go to microservice-01 folder and do that.

Setup microservice-02

After setting up the microservice-01, you need to update .env file with your Auth0 API credentials (create a Machine to Machine app and select the API that you have created). Go to microservice-02 folder and do that.

Setup Next.js app

Under Applications menu, create a Regular Web Applications, copy your credentials, and udpate .env file with your Auth0 API credentials. Go to web folder and do that.

What's inside?

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

Apps and Packages

  • microservice-01: a NestJS app
  • microservice-02: a NestJS app
  • ui: a stub React component library shared by both web and docs applications
  • config: eslint configurations (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 repository is used in the npx create-turbo command, and selected when choosing which package manager you wish to use with your monorepo (Yarn).

Build

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

yarn run build

Develop

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

yarn run dev

Remote Caching

Turborepo can use a technique known as Remote Caching (Beta) 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 (Beta) 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

Useful Links

Learn more about the power of Turborepo: