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.
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
- 📥 Custom survey for speakers
- 📊 Dashboard and metrics on call for papers and reviews
- ⭐️ 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
- 📅 Build your conference schedule
- 📃 Export the proposals
- 🌍 Some integrations (Slack, API...)
If you want to contribute and make Conference Hall better, read our Contributing Guidelines.
React / React router v7 / Typescript / Tailwind / HeadlessUI / Conform / Zod / Prisma / S3 Storage / Mailgun / Express / Postgresql / Redis / BullMQ / Oxlint / Oxfmt / Vitest / Playwright
- Docker
- Node 24+
- pnpm
Install dependencies.
pnpm installStart Docker containers for databases, S3 storage and email testing tool.
docker compose upIf you start the app for the first time, you need to run.
# Install pre-commit hook to ensure linting (optional)
pnpm exec lefthook install
# Setup and seed local DB
pnpm db:resetStart the development server.
pnpm devApplication URLs:
- Webapp: http://localhost:3000
- Mailpit: http://localhost:8025
- S3 storage: http://localhost:9000 (minioadmin/minioadmin)
You can connect the webapp with test users:
[email protected]/password[email protected]/password
Generate Prisma client code.
# Need to be done when DB schema has changed
pnpm exec prisma generateReset and seed local DB.
pnpm db:resetDocker containers MUST be running.
Install Playwright browser for components and e2e tests.
pnpm exec playwright install --with-deps chromiumExecute unit and integration tests.
pnpm testExecute end-to-end tests.
pnpm test:e2eExecute linting.
pnpm lintExecute typecript check.
pnpm tsc
