Waiting List

screenshot of Waiting List
svelte
vite
bulma
supabase

A Waiting list application built on Supabase

Overview

The Waiting List App is a Supabase application that demonstrates how to use the inviteUserByEmail API to invite users to your application. It is built with SvelteKit, Bulma, Vest, and Supabase. This app allows users to manage invite lists, sign up for invitations, reset passwords, and register as an admin.

Features

  • Invite List: Users can manage a list of invitations and send out email invites.
  • Sign Up to Invite: Users can sign up to receive an invitation to the application.
  • Forgot Password: Users can reset their password if they forget it.
  • Admin Registration: Admin users can register and gain access to additional features.

Starting your project

To start the project, run the following command:

docker-compose up

This command will download the necessary Docker containers and run the migration files located in the supabase/migrations directory.

Run database migrations

If you create a new migration file, you can manually run the command below to update your local database:

supabase-cli migrate up

Creating admin user

Once the project server is running, you can visit the signup path /auth/signup to create your admin user. Please note that this route will no longer be accessible after the admin user is created.

Start development server

After creating a project and installing the dependencies, start a development server with the following command:

pnpm dev

Production deployment

To update the email templates in the hosted project, copy the templates from supabase/auth/email into the Email Templates section of the Supabase Dashboard.

The project also contains GitHub workflow files for deploying the application into production using Fly.io.

To manually create a production version of the app, follow these steps:

  1. Preview the production build with pnpm preview.
  2. Install an adapter for your target environment to deploy the app.

Summary

The Waiting List App is a Supabase application that showcases how to invite users to your application using the inviteUserByEmail API. It offers features such as managing invite lists, signing up for invitations, resetting passwords, and admin registration. The app is built with SvelteKit, Bulma, Vest, and Supabase. By following the installation guide, users can easily set up and deploy the application for their own use.

svelte
Svelte

Svelte is a modern front-end framework that compiles your code at build time, resulting in smaller and faster applications. It uses a reactive approach to update the DOM, allowing for high performance and a smoother user experience.

vite
Vite

Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects

bulma
Bulma

Bulma is a free, open source CSS framework based on Flexbox and built with Sass. It's 100% responsive, fully modular, and available for free.

supabase
Supabase

Supabase is an open source Firebase alternative. Start your project with a Postgres database, Authentication, instant APIs, Edge Functions, Realtime subscriptions, and Storage.

fullstack
Fullstack

A fullstack boilerplate provides a starter application that includes both frontend and backend. It should include database, auth, payments, user roles and other backend services to build a fully featured saas or webapps.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.