MCPcopy Index your code
hub / github.com/conference-hall/conference-hall

github.com/conference-hall/conference-hall @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
2,144 symbols 7,454 edges 855 files 1 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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

DevLille        GDG Nantes        GDG Dijon

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
  • 📥 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...)

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 / S3 Storage / Mailgun / Express / Postgresql / Redis / BullMQ / Oxlint / Oxfmt / Vitest / Playwright

Prerequisites

  • Docker
  • Node 24+
  • pnpm

Getting started

Install dependencies.

pnpm install

Start Docker containers for databases, S3 storage and email testing tool.

docker compose up

If 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:reset

Start the development server.

pnpm dev

Application URLs:

  • Webapp: http://localhost:3000
  • Mailpit: http://localhost:8025
  • S3 storage: http://localhost:9000 (minioadmin/minioadmin)

You can connect the webapp with test users:

  • superman@example.com / password
  • batman@example.com / password

Useful commands

Generate Prisma client code.

# Need to be done when DB schema has changed
pnpm exec prisma generate

Reset and seed local DB.

pnpm db:reset

Execute tests and lint

Docker containers MUST be running.

Install Playwright browser for components and e2e tests.

pnpm exec playwright install --with-deps chromium

Execute unit and integration tests.

pnpm test

Execute end-to-end tests.

pnpm test:e2e

Execute linting.

pnpm lint

Execute typecript check.

pnpm tsc

Extension points exported contracts — how you extend this code

CacheLayer (Interface)
(no doc) [4 implementers]
app/shared/cache/cache-layer.ts
TooltipProps (Interface)
(no doc)
app/design-system/tooltip.tsx
Props (Interface)
(no doc)
app/features/speaker/activity/components/speaker-activities-section.tsx
EmailProvider (Interface)
(no doc) [2 implementers]
app/shared/emails/providers/provider.ts
CalloutProps (Interface)
(no doc)
app/design-system/callout.tsx
RedisCacheOptions (Interface)
(no doc)
app/shared/cache/redis-cache-layer.ts
ChartTooltipProps (Interface)
(no doc)
app/design-system/charts/donut.tsx
CustomEmailData (Interface)
(no doc)
app/shared/emails/email.types.ts

Core symbols most depended-on inside this repo

userFactory
called by 410
tests/factories/users.ts
talkFactory
called by 395
tests/factories/talks.ts
eventFactory
called by 391
tests/factories/events.ts
proposalFactory
called by 376
tests/factories/proposals.ts
getAuthorizedTeam
called by 372
app/shared/authorization/authorization.server.ts
get
called by 367
app/shared/cache/cache-layer.ts
getAuthorizedEvent
called by 336
app/shared/authorization/authorization.server.ts
teamFactory
called by 188
tests/factories/team.ts

Shape

Function 1,098
Method 740
Class 288
Interface 17
Enum 1

Languages

TypeScript100%

Modules by API surface

app/shared/errors.server.ts63 symbols
app/features/event-management/proposals/services/proposal-search-builder.server.ts29 symbols
e2e/tests/event-management/proposals-list.page.ts20 symbols
e2e/tests/team-management/team-settings.page.ts18 symbols
e2e/tests/team-management/new-event.page.ts17 symbols
e2e/tests/event-participation/proposal.page.ts17 symbols
e2e/tests/event-management/speakers-list.page.ts17 symbols
e2e/tests/event-participation/submission.page.ts16 symbols
e2e/tests/event-management/speaker-form.page.ts15 symbols
e2e/tests/speaker/talk.page.ts14 symbols
app/features/event-management/schedule/services/schedule.server.ts14 symbols
app/features/conversations/services/conversation-service.server.ts13 symbols

For agents

$ claude mcp add conference-hall \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact