A modern, user-friendly web application built with Svelte for managing reservations for Poembooth photo booths. The application supports both Dutch and English languages, providing an intuitive interface for customers to book photo booths for their events.
- Multi-language Support: Full support for Dutch and English
- Interactive Booking Form:
- Date and time selection
- Location details with address autocomplete
- Company information input
- Separate delivery address option
- Smart Validation: Real-time form validation with helpful error messages
- Responsive Design: Works seamlessly on both desktop and mobile devices
- Smooth User Experience:
- Modern animations and transitions
- Clear success feedback with the PB logo
- Intuitive navigation
- Frontend Framework: Svelte
- Styling: CSS with Flowbite components
- Form Handling: Custom form validation
- Data Storage: Airtable integration
- Geocoding: Address autocomplete and validation
- Internationalization: Built-in language switching
- Clone the repository:
git clone https://github.com/justusbruns/pb-reserve.git
- Install dependencies:
npm install
- Start the development server:
npm run dev
Copy .env.example
to .env
and fill in the required values:
# Airtable Configuration
AIRTABLE_PAT= # Your Airtable Personal Access Token
AIRTABLE_BASE_ID= # The Poem Booth Airtable Base ID
# Mapbox Configuration
MAPBOX_TOKEN= # Your Mapbox API Token for geocoding
# API Configuration
API_TOKEN= # API Token for authentication
These environment variables must be set in your local development environment and in your Vercel project settings when deploying.
/src
/DatumEnTijd
- Main booking form component/images
- Static assets including logos/services
- API integrations and services/translations
- Language files and translations
Feel free to submit issues and enhancement requests.
This project is proprietary software owned by Poembooth.