- Notifications
You must be signed in to change notification settings - Fork2
Event management system for venues with interactive floor planning tools and real-time guest management.
License
Smrtnyk/Firetable
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Event management system built as a mono-repo usingpnpm.Functions as a Progressive Web App (PWA) for desktop-like experience.Features a powerful custom floor plan editor that allows creating and managing dynamic floor layouts for each property, with the ability to customize plans per event and modify them in real-time.
Available at:https://firetable-eu.web.app
Demo credentials:
- Owner:owner@Demo.at / Owner@Demo!234,.
- Staff:staff@Demo.at / Staff@Demo!234,.
- Manager:manager@Demo.at / Manager@Demo!234,.
Organisation & Property Management
- Create and manage multiple organisations and their properties
- Role-based access control for users
Event Planning
- Floor plan designer with customizable elements (DJ booths, sofas, tables and much more)
- Create unique layouts for each property
- Customize floor plans for specific events
- Real-time editing and adjustment capabilities
- Rich selection of venue elements and furnishings
- Event scheduling and management
- Guest list creation and management
- Floor plan designer with customizable elements (DJ booths, sofas, tables and much more)
Reservation System
- Handle immediate and wait list reservations
- Track guest information and visit history
- Monitor consumption data
Digital Drink Cards
- Upload existing drink cards as PDFs
- Create custom cards using inventory items
- Generate QR code for easy access
- Web-hosted for seamless guest access
Analytics
- Track key metrics for reservations and events
- Analyze guest patterns and property performance
- Generate operational insights
Additional Features
- Dark mode support
- Multi-language interface
- Inventory management across properties
Here’s what the Floor Plan Editor looks like:
- frontend: Main web application
- backend: Firebase project
- functions: Cloud functions
- types: Shared type definitions
- floor-creator: Floor plan creation tool
- Frontend: Quasar (Vue.js framework)
- Backend: Firebase + Cloud Functions
- Install dependencies:
pnpm install
Configure Firebase:
- Rename
/backend/fb-config-template.json
tofb-config.json
- Add your Firebase credentials
- Rename
Start development:
- Firebase emulators:
pnpm run start:emulators
- Frontend server:
pnpm run dev:frontend
- Firebase emulators:
The app will be available athttps://localhost:8080
Generate SSL certificates usingmkcert
for HTTPS mode, or disable it inquasar.config.js
Required before first use:
- Visit Firebase Emulators UI (
http://localhost:3000/auth
) - Add new user with custom claim:
{ "role": "Administrator" }
- Use these credentials to log in
Or rather than starting from scratch and creating admin user manually, you can seed the database with sample data.For development and testing, you can populate the emulators with sample data:
- Ensure emulators are running:
pnpm run start:emulators
- run one of the seed scripts:
cd packages/functionspnpm run seed# Creates 1 organization without admin userpnpm run seed:admin# Creates 1 organization with admin user
The seeder supports the following command line arguments:
- -o, --organisations - Number of organizations to seed (default: 1)
- -a, --with-admin - Create an admin user (default: false)
- -h, --help - Show help information
When admin user is created, following credentials are available:
- Admin:admin@firetable.at / ADMIN123
This will create:
- Multiple organizations with properties
- Users with various roles (all using password:
USER123
) - Sample events with floor plans
- Guest data with visit history
The seeding script automatically:
- Creates organization hierarchies
- Assigns properties to organizations
- Sets up users with appropriate roles and permissions
- Generates realistic event data
- Creates guest records with visit history
This makes it easy to start development with a fully populated database instead of an empty state.To clear the database and start fresh, you have to do it manually in the emulators UI.Emulators UI provides buttons to clear the database and authentication state.
Currently, supports English with partial German, Spanish and Croatian translations
Contributions are welcome! Please take a moment to review ourContributing Guidelines and ensure you understand ourCode of Conduct before getting started.
By participating in this project, you agree to abide by ourCode of Conduct, ensuring a respectful and collaborative environment for all contributors.