Home

Awesome

Conference Hall

Conference Hall is an open SaaS platform to manage call for papers and speaker submissions for your conferences and meetups. Any speaker writes a talk once and can submit it to every event of the platform.

https://conference-hall.io

Sponsors

<img src="./docs/sponsors/devlille.svg" alt="DevLille logo" height="68"/>        <img src="./docs/sponsors/gdgnantes.png" alt="GDG Nantes logo" height="68"/>

Features

You are a speaker:

You are an event organizer:

Development

If you want to contribute and make Conference Hall better, read our Contributing Guidelines.

Stack

React / React router v7 / Typescript / Tailwind / HeadlessUI / Conform / Zod / Prisma / Firebase Auth / Mailgun / Express / Postgresql / Redis / BullMQ / Biome / Vitest / Cypress

Prerequisites

Getting started

Install dependencies:

npm install

Start Docker image for Postgres DB, Firebase emulators and Mailpit:

docker compose up

If you start Conference Hall for the first time, you need to setup the database with the following command :

npm run db:reset

Start the development server:

npm run dev

Useful commands

Reset and seed local DB

npm run db:reset

Execute tests

The docker image for Postgres DB and Firebase emulators MUST be running.

Install Playwright browser for Vitest browser tests:

npx playwright install --with-deps chromium

Execute unit and integration tests:

npm run test

Execute end-to-end tests (Dev server MUST be running):

npm run test:e2e

Execute linting

npm run lint

Execute typecript check

npm run tsc

Export emulators data

docker exec -it ch_firebase_emulators sh
firebase --project=conference-hall emulators:export fixtures