Skip to content

Latest commit

 

History

History
118 lines (86 loc) · 4.3 KB

README.md

File metadata and controls

118 lines (86 loc) · 4.3 KB

Laravel Logo

Build Status Total Downloads Latest Stable Version License

Escape Room Reservation System

Welcome to the Escape Room Reservation System! This project provides a platform for users to book and manage reservations for escape rooms.

Table of Contents

Introduction

Escape Room Reservation System is a web application that allows users to browse available escape rooms, make reservations, and manage their bookings. The system also provides a convenient API for integrating with other applications.

Features

  • User registration and authentication
  • View available escape rooms and their details
  • Make and manage reservations
  • Apply discounts for special occasions (e.g., birthday discounts)
  • Room status management (availability)
  • API endpoints for integration

Getting Started

To get started with the Escape Room Reservation System, follow these steps:

  1. Clone the repository: git clone https://github.com/your-username/escape-room-reservation.git
  2. Install dependencies: composer install
  3. Create a .env file by copying .env.example: cp .env.example .env
  4. Generate an application key: php artisan key:generate
  5. Configure your database settings in the .env file
  6. Migrate the database: php artisan migrate
  7. Run the development server: php artisan serve

Installation

  1. Clone the repository:
    git clone https://github.com/your-username/escape-room-reservation.git
    

Setup

  1. Change to the project directory:

    cd escape-room-reservation
    
  2. Install dependencies using Composer:

    composer install
    
  3. Create a .env file by copying .env.example:

    cp .env.example .env
    
    
  4. Generate an application key:

    php artisan key:genarate
    
  5. Configure your database settings in the .env file.

  6. Migrate the database:

    php artisan migrate
    
  7. Run the development server:

    php artisan serve
    

Automatic Reservation Status Update

In order to manage reservations and update the room status when the reservation end date is exceeded, a scheduling mechanism has been implemented using Laravel's scheduling system. This ensures that the room status is automatically updated without manual intervention.

The scheduling logic is implemented in the Kernel.php file. It runs a scheduled task every five seconds to check reservations in the Reservation model. If the reservation's end date has passed, the status of the room associated with the reservation is updated from 1 (occupied) to 0 (available).

To run this scheduling task, you can use the following Artisan command in your terminal:

  • php artisan schedule:work
    
    

Usage

Register or log in to your account. Browse available escape rooms and their details. Make reservations for your desired time slots. Manage your reservations and view their details. Cancel reservations if needed. Enjoy your escape room experience! API Documentation The Escape Room Reservation System provides a RESTful API for integration with other applications. API documentation can be found here.

Contributing Contributions to the Escape Room Reservation System are welcome! If you find any issues or have suggestions for improvements, please feel free to create a pull request or submit an issue.

License This project is licensed under the MIT License.