TEXT

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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