Skip to content

conference-hall/conference-hall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Features

You are a speaker:

  • ✨ Write the abstract of your talk
  • 🚀 Submit your talks to events (meetups and conferences)
  • 🤝 Invite co-speakers to your talk
  • 🔒 Social login

You are an event organizer:

  • ❤️ Create your conference or meetup
  • 📣 Call for papers opens and closes automatically
  • ⚡️ Make it public or private
  • 👥 Use teams to share an event between organizers
  • 💡 Custom formats and categories for the talks
  • 📥 Send survey to speakers
  • ⭐️ Review proposals
  • 💬 Discussion between organizers about a proposal
  • ✅ Mark proposals as accepted, declined...
  • 💌 Publish result to speakers and notify them with emails
  • 👌 Get speaker confirmations
  • 📃 Export the proposals
  • 🌍 Some integrations (Slack, API...)

Development

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

Stack

React / Remix / Typescript / Tailwind / HeadlessUI / Conform / Zod / Prisma / Firebase Auth / Mailgun / Express / Postgresql / Redis / Bull / Biome

Prerequisites

  • Docker
  • Node 20+

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.

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