Fest is a SaaS boilerplate built with Node.js & React. It's equipped with the following features:
- User authentication and authorization with email verification and password reset.
- Organizations management system.
- Invite system: users can join organizations by having different roles.
- Secure API endpoints and Front-end routes with role-based authorization.
The repository is structured as a Monorepo using Nx. It contains two apps:
- api A Nest.js application, with Prisma ORM.
- frontend A Next.js application with MUI React components.
And a shared library for sharing common Typescript types, constants, and utility functions across apps.
auth0 is used for Identity management and PostgreSQL as a database.
- You'll need docker installed on your machine to run the PostgreSQL.
- For identity management to work, you need to create an account in auth0 and create two apps in there as described in here.
- Postmark is used in the repository as an email client. To send emails with Postmark, grab the key from their dashboard and add it to
apps/api/.env. If you want to use another email client, change the corresponding code in
- Clone the repo:
git clone https://github.com/DimiMikadze/fest.git.
- Install dependencies:
.env.localand update environment variables.
- Navigate to the
apps/apidirectory and run
docker-compose up, to run the PostgreSQL instance.
yarn prisma:migrate:dev initto run the initial migrations.
yarn devfrom the project's root, to run API and frontend apps in the development mode.
Fest is an open-source software licensed as MIT.