Tiri is a Next.js application for creating events, managing guests, sending digital invitations, and handling event-day check-in.
- Email/password and Google sign-in (Better Auth)
- Event creation flow with guest management
- Invitation generation and sending
- Invitation check-in terminal by event
- Dashboard with event summaries
- Next.js 16 + React 19
- TypeScript
- Prisma + PostgreSQL
- Better Auth
- Tailwind CSS
- Node.js 20+
- pnpm
- PostgreSQL
Create a .env file in the project root:
DATABASE_URL=******localhost:5432/tiri
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
SMTP_HOST=your_smtp_host
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=your_smtp_user
SMTP_PASS=your_smtp_password- Install dependencies:
pnpm install- Generate Prisma client and run migrations:
pnpm prisma generate
pnpm prisma migrate dev- Start development server:
pnpm devApp runs at http://localhost:3000.
pnpm dev— start development serverpnpm build— build for productionpnpm start— run production buildpnpm lint— run ESLintpnpm typecheck— run TypeScript checks
The repository includes Dockerfile and docker-compose.yml for containerized setup with PostgreSQL.
docker compose up --build