GithubHelp home page GithubHelp logo

dimimikadze / fest Goto Github PK

View Code? Open in Web Editor NEW
199.0 9.0 19.0 495 KB

SaaS boilerplate built with Node.js & React.

License: MIT License

Shell 0.55% TypeScript 90.55% JavaScript 0.46% CSS 8.45%
auth0 jamstack nestjs nextjs nodejs postgresql prisma react saas saas-boilerplate

fest's Introduction

Fest

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.

Tech Stack

The repository is structured as a Monorepo using Nx. It contains two apps:

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.

Requirements

  • 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 apps/api/src/mail.service.ts.

Getting started

  • Clone the repo: git clone https://github.com/DimiMikadze/fest.git.
  • Install dependencies: yarn.
  • Rename apps/api/.env.example to .env and apps/frontend/.env.local.example to .env.local and update environment variables.
  • Navigate to the apps/api directory and run docker-compose up, to run the PostgreSQL instance.
  • run yarn prisma:migrate:dev init to run the initial migrations.
  • run yarn dev from the project's root, to run API and frontend apps in the development mode.

License

Fest is an open-source software licensed as MIT.

fest's People

Contributors

dimimikadze avatar lowlyocean avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fest's Issues

Lack of Billing/Subscriptions/Payments, or User Profile page

If this is meant to be a boilerplate or template for SaaS, I think it will be crucial to include Billing/Payments/Subscriptions page (e.g. via Stripe) as well as a user profile page. If you include these, then another benefit will be the example of navigation between pages.

Database initialization not included in instructions

After following instructions from README, navigating to localhost:3000 triggers this line which produces following error (which suggests that some step in instructions is missing in order to initialize the database)

[Nest] 22180  - 01/03/2023, 3:27:40 PM   ERROR [ExceptionsHandler] 
Invalid `prisma.user.findUnique()` invocation:


The table `public.User` does not exist in the current database.

Update: From experimenting, it seems README should include that the following command is needed:
yarn prisma:migrate:dev init

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.