An event organizer platform that helps organizations create, manage, and promote events while connecting people through shared experiences.
- Event Management: Create and manage events with RSVP functionality
- Organization System: Organizations can host multiple events and manage members
- User Authentication: Secure registration and login system with session management
- Event Discovery: Explore events happening in your area
- Member Management: Handle organization memberships and event organizers
- RSVP System: Attendee management with capacity limits and RSVP deadlines
- Frontend: SvelteKit 2 with Skeleton UI + Tailwind CSS
- Backend: Cloudflare Workers for serverless hosting
- Database: Cloudflare D1 (SQLite) with Drizzle ORM + Cloudflare KV
The platform includes the following main entities:
- Users: User accounts with authentication
- Organizations: Event hosting organizations
- Events: Event details, dates, and capacity management
- Attendees: RSVP tracking
- Sessions: User session management
- Node.js 23+
- pnpm 10+
- Cloudflare account for deployment
- Clone the repository
- Install dependencies:
pnpm install- Set up your Cloudflare D1 database and KV namespace
- Update
wrangler.jsoncwith your database and KV IDs
Start the development server:
pnpm devThe app will be available at http://localhost:5173
Generate database migrations:
pnpm db:generateApply migrations:
pnpm db:migrateOpen Drizzle Studio for database management:
pnpm db:studioBuild for production:
pnpm buildDeploy to Cloudflare:
pnpm deployRun unit tests:
pnpm test:unitRun end-to-end tests:
pnpm test:e2eRun all tests:
pnpm testsrc/
├── lib/
│ ├── db/ # Database schema and connection
│ ├── repos/ # Data access layer
│ └── utils/ # Utility functions
├── routes/
│ ├── auth/ # Authentication pages
│ ├── explore/ # Event discovery
│ ├── settings/ # User/org settings
│ └── api/ # API endpoints
└── app.html # Main HTML template
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under MTI License.