A webapp for professional theatre companies to manage actor attendance. Replaces physical sign-in sheets with QR code sign-in, admin controls, and offline support.
- Frontend: React + Vite
- Backend: Express API
- Database: PostgreSQL with Prisma ORM
- Package Manager: Yarn (workspaces)
- QR Code Sign-In — Actors scan a unique QR code per show (requires login)
- Admin Controls — Sign in actors, or mark absent, vacation, or personal day
- Calendar Import — CSV or Excel with date and show time
- Callboard & Print — View and print attendance sheets
- Offline Mode — Print sheet when offline; enter sign-ins when back online (Dexie/IndexedDB)
- Settings — Show title
-
Start the database:
yarn db:start
-
Copy
.env.exampleto.env. -
Set up the database:
yarn db:push yarn db:seed
-
Run the app:
yarn dev
To run the app in host mode, run:
yarn dev:host [--host=domain.com] -
Open http://localhost:5173 Demo credentials (password:
password123):- Admin:
admin@demo.theatre - Actor:
alice.anderson@demo.theatre
- Admin:
| Script | Description |
|---|---|
yarn dev |
Run client + server |
yarn db:start |
Start PostgreSQL (Docker) |
yarn db:stop |
Stop PostgreSQL |
yarn db:push |
Apply schema |
yarn db:seed |
Seed demo data (3 weeks) |
yarn db:studio |
Prisma Studio |
docker compose up -dApp runs on port 3000. Set JWT_SECRET, JWT_REFRESH_SECRET, and CLIENT_URL (or use .env).