How amolenk/admitto works
Admitto is an open-source ticketing system for small, free events. Its principal workflow is public event registration, with team administrators managing events and registrations and partners accessing event data; registrations also support scanner sessions and exports. The API composes organization, registration, badge, and email modules, while a worker loads those modules and consumes a shared queue. The tree shows persistence and email delivery subsystems, but their runtime wiring and most domain interactions were not sampled, so those connections are omitted. Auth0 is documented for production; local development uses Keycloak.
Main entry points: Admitto.Api/Program.cs HTTP API · Admitto.Worker/Program.cs Background worker · Organization Teams and identity · UserContextResolutionMiddleware.cs Authentication context
Components 15
API and identity
- HTTP API
src/Admitto.Api/Program.cs - Authentication context
src/Admitto.Api/Auth/UserContextResolutionMiddleware.cs - Identity provider
Event operations
- Teams and identity
src/Admitto.Core/Organization - Events and registration
src/Admitto.Core/Registrations - Badges
src/Admitto.Core/Badges
Email delivery
- Email preparation
src/Admitto.Core/Email/Application/UseCases/Emails/PrepareEmailDelivery - SMTP delivery
src/Admitto.Core/Email/Infrastructure/Sending/MailKitEmailSender.cs
Persistence and workers
- Registration persistence
src/Admitto.Core/Registrations/Application/Persistence - Badge persistence
src/Admitto.Core/Badges/Infrastructure/Persistence/BadgesDbContext.cs - Email persistence
src/Admitto.Core/Email/Infrastructure/Persistence/EmailDbContext.cs - Background worker
src/Admitto.Worker/Program.cs
Other components
- Attendees
- Team admins
- Partners
Connections 16
- Attendees → HTTP API: registers publicly
README.md - Team admins → HTTP API: manages events
README.md - Partners → HTTP API: accesses event data
README.md - HTTP API → Authentication context: resolves user context
src/Admitto.Api/Program.cs - HTTP API → Teams and identity: loads module
src/Admitto.Api/Program.cs - HTTP API → Events and registration: loads module
src/Admitto.Api/Program.cs - HTTP API → Badges: loads module
src/Admitto.Api/Program.cs - HTTP API → Email preparation: loads module
src/Admitto.Api/Program.cs - Authentication context → Teams and identity: resolves user
src/Admitto.Api/Auth/UserContextResolutionMiddleware.cs - HTTP API → Teams and identity: checks API key
- Background worker → Badges: loads module
src/Admitto.Worker/Program.cs - Background worker → Email preparation: loads module
src/Admitto.Worker/Program.cs - Background worker → Teams and identity: loads module
src/Admitto.Worker/Program.cs - Background worker → Events and registration: loads module
src/Admitto.Worker/Program.cs - Identity provider → Authentication context: supplies identity
README.md - Email preparation → SMTP delivery