Event Ticketing
v0.1.1
Open live demo → Screens
Overview
A general-admission box office for a venue: shows go on sale with their own ticket types and capacities, a cart holds its tickets for ten minutes so the remaining count drops the moment somebody starts checking out and goes back up if they walk away, and the door answers a scanned code with one of four honest verdicts — good, already checked in and when, another night’s, or never issued. The manifest scaffolds the room, event, ticket-type, order and ticket tables into your connected database and generates the back office around them: every record with full CRUD, refunds and exchanges, and reporting across seasons and rooms. The app you deploy is the box office; the dashboard Adminium builds is the office behind it, from the same data.
Capabilities
- Payments
- Email receipts
- Realtime
What you get
Tables it adds7
- venues
- events
- ticket_types
- orders
- order_items
- tickets
- promo_codes
Created fresh, or mapped onto your existing tables at install.
Pages your dashboard gains4
- DashboardTickets issued, door count and takings, with the sales pace and who just came through.
- EventsA card gallery of shows, with child tabs for ticket types and issued tickets.
- OrdersAn order list beside a detail with what was bought and the tickets it issued.
- DoorValid, checked-in and void tabs, with one-tap check-in and an undo.
Roles it pre-builds2
- organizerPut shows on sale and run them: events, ticket types, orders, issued tickets and promo codes. No settings or role access.
- door-staffRead tonight’s tickets and mark them checked in. Nothing else, and never a price.
Settings you configure4
- Venue name
- Time zone
- Order code prefix
- Cart hold (minutes)
Run it with your own data
Event Ticketing needs somewhere to keep your data. Answer one question and we will show you the shortest way there.
Do you already use Adminium?
Set everything up together
A static host can only serve the screens. Your data needs a database, and Adminium is what turns it into an admin you can use — so the three go up together.
Deploy everything to DigitalOceanPostgres, Adminium and Event Ticketing, already connected.
Rather try it on your own machine first?
npx @adminiumjs/adminium No database needed — it asks you for one when it is ready. Then come back here and pick “Yes” above.
Where is your Adminium?
The address you sign in to, for example https://admin.yourcompany.com
That does not look like a web address. It should start with https://
Where should Event Ticketing live?
Inside Adminium
One place to sign in, and nothing else to deploy. Your team reaches it from the same address as your admin.
Show me how
- Build it:
git clone https://github.com/Adminiumjs/event-ticketing.git && cd event-ticketing && npm install && npm run build:surface - Point Adminium at it and restart:
ADMINIUM_SURFACES_DIR=$(pwd)/dist-surface npx @adminiumjs/adminium start - Then open:
https://admin.example.com/apps/events/staff/
On its own domain
A separate site with its own URL, talking back to the Adminium you just named.
Vercel hosts the screens only — your Adminium stays where it is and keeps the data. You will paste one key that lets the site read it.
Deploy to VercelVercel will ask for two values. Both are on your Adminium under Studio → Public API.
Or start from the source
Clone it and run it anywhere — the README covers every option.
View on GitHubJust looking? The live demo needs no setup at all and nothing you do in it is saved. Open the live demo