A modern, easy-to-use meeting room booking application with QR code support for quick access. Built for the Frontier Tower.
Book AI Conference room: https://ft0.sh/book-ai-conf-stairs Book 3rd Floor conference room: https://ft0.sh/book-3rd-conf-kitchen
- View available meeting rooms and their schedules
- Book time slots with a visual calendar interface
- See all upcoming bookings at a glance
- Prevent double-booking with automatic conflict detection
- Generate unique QR codes for each meeting room
- Place QR codes outside physical meeting rooms for instant booking access
- Scan to immediately view and book available time slots
- No sign-in required for booking rooms
- Clean, modern design with purple-themed styling
- Responsive layout works on desktop and mobile devices
- Real-time calendar updates
- Create new meeting room calendars
- Manage existing room calendars
- Delete bookings when needed
- Node.js 18+ installed
- Google Cloud project with Calendar API enabled
- Google Service Account with calendar permissions
- Clone the repository:
git clone <repository-url>
cd frontiertowerhackathon-calendar- Install dependencies:
npm install-
Set up environment variables:
- Copy
.env.local.exampleto.env.local - Add your Google Service Account credentials
- Set your base URL for QR codes
- Copy
-
Run the development server:
npm run dev- Open http://localhost:3000 in your browser
- Visit the calendars page to see all available meeting rooms
- Click "Book a Time Slot" for your desired room
- Select a date and time on the calendar
- Fill in your booking details and confirm
- Print QR codes from the "View QR" button for each room
- Place QR codes outside physical meeting rooms
- Users can scan to instantly access that room's booking page
See Thomas or Kelly for access to manage live site
- Create new room calendars from the admin interface
- Delete calendars or individual bookings as needed
/book/[calendarId]- Book a specific room/book/[calendarId]/qr- QR code for a specific room
For issues or questions, please open an issue on the project repository.