Overview
FestFest is a SaaS boilerplate built with Node.js and React. It provides a range of features to users, such as user authentication and authorization, organizations management, and an invite system. The repository is structured as a Monorepo using Nx and contains two apps: an API application built with Nest.js and Prisma ORM, and a frontend application built with Next.js and MUI React components. The SaaS boilerplate utilizes auth0 for identity management and PostgreSQL as a database.
Features
- User authentication and authorization: Allows users to authenticate with their email and password and provides role-based authorization.
- Organizations management system: Gives users the ability to manage organizations within the system.
- Invite system: Users can join organizations by receiving invites with different roles.
- Secure API endpoints and Front-end routes: Ensures that API endpoints and front-end routes are protected and accessible only to authorized users based on their roles.
Installation
To install and set up FestFest, follow these steps:
- Ensure that you have Docker installed on your machine to run the PostgreSQL.
- Create an account on Auth0 and create two apps as described in the provided documentation.
- Obtain the API key from Postmark’s dashboard and add it to the
.envfile located in theapps/apidirectory. If you want to use a different email client, update the corresponding code inapps/api/src/mail.service.ts. - Clone the FestFest repository using the command:
git clone https://github.com/DimiMikadze/fest.git. - Install the project dependencies by running
yarnin the root directory. - Rename
apps/api/.env.exampleto.envandapps/frontend/.env.local.exampleto.env.local, and update the environment variables accordingly. - Navigate to the
apps/apidirectory and rundocker-compose upto start the PostgreSQL instance. - Run
yarn prisma:migrate:dev initto execute the initial migrations. - Finally, run
yarn devfrom the project’s root directory to start both the API and frontend applications in development mode.
Summary
FestFest is a SaaS boilerplate that offers a comprehensive set of features, including user authentication and authorization, organizations management, and an invite system. It is built with Node.js and React, utilizing a Monorepo structure using Nx. The system makes use of Auth0 for identity management and PostgreSQL as the database. With the provided installation guide, users can easily set up and start using FestFest for their own SaaS applications.