Bonfire is a modern, feature-rich event management platform built with SvelteKit. It provides a comprehensive suite of tools for both event organizers and attendees, enabling seamless event creation, management, and participation.
- Event Management: Easily create, customize, and manage events of all sizes.
- RSVP System: Allow attendees to RSVP to events with a simple and intuitive interface.
- Image Galleries: Create and manage stunning image galleries for your events.
- Real-time Updates: Experience real-time interactions and updates, powered by Triplit.
- User Profiles: Customizable user profiles with avatars and personal information.
- Secure Authentication: Robust authentication system with support for email/password and Google social login, built with Lucia.
- Payment Processing: Accept payments for tickets and other event-related purchases through Stripe integration.
- Notifications: Keep users informed with email and SMS notifications.
- Admin Dashboard: A powerful admin interface for managing users, events, and application settings.
- AI-Powered Features: Leverage the power of AI with Mistral AI integration for an enhanced user experience.
- Video Streaming: Support for HLS video streaming to broadcast your events live.
- Interactive Maps: Display event locations and other geographical information with MapLibre integration.
- Node.js (version specified in
package.json) - pnpm
- Docker
-
Install Dependencies:
pnpm install
-
Set up Environment Variables: Rename the
.env.examplefile to.envand populate it with your own values. -
Run the Development Servers:
make dev
This command will start the SvelteKit development server, the Triplit server, and any other necessary services.
-
Run Database Migrations:
pnpm run migrate
To create a production version of the app:
pnpm run buildYou can preview the production build with pnpm run preview.
- Framework: SvelteKit 5
- Database:
- Turso (libSQL) with Drizzle ORM for relational data.
- Triplit for real-time data synchronization.
- Authentication: Lucia
- Styling: Tailwind CSS with daisyUI
- Payments: Stripe
- File Uploads: Uppy
- Email: Resend
- Testing:
- Playwright for end-to-end testing.
- Vitest for unit testing.
- Deployment:
Contributions are welcome! Please feel free to submit a pull request or open an issue.