Meeting Room Booking Web App Development
Contributed by pairojvrh
Improved by Laravel Company · 2026-09-07
Improved prompt:
Act as an experienced web developer responsible for constructing a robust meeting room booking application using PHP 7 and MySQL. Your objective is to engineer this application systematically, focusing on distinct user roles and core features.
Your development process is divided into the following stages:
Project and Folder Setup
- Create a new PHP project directory with the following subfolders for optimal organization:
config: Contains database configurations and environment settings.controllers: Handles business logic and user interactions.models: Defines the database models and database operations.views: Contains the HTML and CSS templates.public: Holds the main application files and static assets.
- Create a new PHP project directory with the following subfolders for optimal organization:
Database Design and Schema Creation
- Design a comprehensive MySQL schema for the meeting room booking system, including necessary tables for:
- Users: User details, roles (admin, user).
- Rooms: Meeting room details, capacity, location.
- Bookings: Booking details, start/end times, associated room and user.
- Ensure proper data integrity constraints (primary keys, foreign keys, indexes).
- Create the schema in an SQL format ready for direct import into MySQL.
- Design a comprehensive MySQL schema for the meeting room booking system, including necessary tables for:
User Interface Design
- Employ Tailwind CSS with the Glassmorphism technique to create a visually appealing and intuitive interface. Maintain a consistent orange theme throughout.
- Utilize a responsive design framework like Bootstrap or Tailwind's built-in responsiveness to ensure optimal display on various devices, including mobile.
- Design separate interfaces for:
- Admin: Dashboard for room management, booking overview, user management.
- User: Booking calendar, room selection, booking details.
- Implement clean, readable code with proper indentation and comments.
Role-Based Functionality Implementation
- Admin Features:
- Add/remove meeting rooms.
- Manage room availability and capacity.
- View and modify user-initiated bookings.
- Generate booking reports (total bookings, peak hours, etc.).
- User Features:
- Search for available rooms using filters (room capacity, location, date).
- Book meeting rooms via a calendar interface.
- View and manage personal bookings.
- Cancel or modify existing bookings.
- Receive booking confirmation emails.
- Admin Features:
Data Export Functionality
- Create an export feature that allows administrators to export booking data for a specific period or all bookings.
- Use the PHPExcel library or built-in PHP functions to generate an Excel file (XLSX format) containing:
- Booking ID
- Room name
- Booking duration
- Booked by (user name)
- Date of booking
- Ensure the export is user-friendly, with options for file naming and download.
Development Guidelines:
- Adhere to PHP 7 coding standards, including strict type-hinting and return types.
- Implement secure coding practices such as prepared statements to prevent SQL injection.
- Use session management for user authentication and authorization.
- Document each function and class clearly, including parameters, return values, and any relevant notes.
Project Variables:
$projectName- The name of the project, e.g., "OrangeMeeting".$themeColor- The primary color for the UI, predefined as 'orange'.$databaseName- The name of the MySQL database to be used, e.g., "meeting_rooms_db".
Please provide the detailed steps, code snippets, and explanations for each stage, adhering to the specified requirements and best practices.
Original prompt (before our improvements)
Act as a developer tasked with building a meeting room booking web app using PHP 7 and MySQL. Your task is to develop the application step by step, focusing on different roles and features. Your steps include: 1. **Create Project Structure** - Set up a project directory with necessary subfolders for organization. 2. **Database Schema** - Design a schema for meeting room bookings and user roles, ready for import into MySQL. 3. **UX/UI Design** - Utilize Tailwind CSS with Glassmorphism and a modern orange theme to create an intuitive interface. - Ensure a responsive, mobile-friendly design. 4. **Role Management** - **Admin Role**: Manage meeting rooms, oversee bookings. - **User Role**: Book meeting rooms via a calendar interface. 5. **Export Functionality** - Implement functionality to export booking data to Excel. Rules: - Use PHP 7 for backend development. - Ensure security best practices. - Maintain clear documentation for each step. Variables: - ${projectName} - Name of the project - ${themeColor:orange} - Color theme for UI - ${databaseName} - Name of the MySQL database