Skip to content

devblaze/ReservationProjectV2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

114 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI/CD for Laravel Application

ReservationProjectV2

ReservationProjectV2 is a web-based event reservation system, offering an interactive interface for creating, managing, and searching for events. The application uses a modern technology stack including Docker, Laravel, Vue.js, and Tailwind CSS, and leverages MeiliSearch for efficient event data handling.

Features

  • Event Creation: Users can create events with details like title, description, dates, and location.
  • Seat Map: Interactive seat map allowing users to arrange seats and tables.
  • Event Search: Search functionality to quickly find events.
  • Real-Time Notifications: Notifications for actions such as event creation and deletion.
  • Responsive Design: Built with Tailwind CSS for a responsive, mobile-friendly user experience.
  • Backend Integration: Laravel backend for handling business logic, database operations, and API endpoints.

Getting Started

These instructions will guide you through setting up the project on your local machine for development and testing purposes.

Prerequisites

  • Windows 11 with WSL2 and Ubuntu LTS
  • Docker with WSL2 integration
  • Git

Installation Steps

Windows 11:

  1. WSL2 and Ubuntu Setup:

    • Install WSL2 and Ubuntu LTS.
    • Enable Docker WSL2 integration and allow Ubuntu (or your chosen Linux version).
  2. Project Setup:

    • Open your Terminal and clone the repository:

      git clone https://github.com/devblaze/ReservationProjectV2.git
      
    • Change directory to the project folder:

      cd ReservationProjectV2
      
    • You need to install the Laravel Sail.

      docker run --rm \
          -u "$(id -u):$(id -g)" \
          -v $(pwd):/var/www/html \
          -w /var/www/html \
          laravelsail/php81-composer:latest \
          composer install --ignore-platform-reqs 
    • You can also run the following command to use sail up -d and not ./vendor/bin/sail up.

      alias sail='sh $([ -f sail ] && echo sail || echo vendor/bin/sail)' 
    • Start the Docker environment with Laravel Sail:

      sail up -d
      
    • Install PHP dependencies:

      sail composer install
    • Install NPM packages:

      sail npm install
    • Set up your environment variables in .env file (use .env.example as a template). Generate an application key:

      sail artisan key:generate
    • Run migrations and seed the database (if applicable):

      sail artisan migrate --seed
    • Import the event model to Laravel Scout:

      sail artisan scout:import
    • Start the frontend server:

      sail npm run dev # In a separate terminal
  3. Environment Configuration:

    • Add the following lines to your .env file:
      SCOUT_DRIVER=meilisearch
      MEILISEARCH_HOST=http://<meilisearch-container-name>:7700/

Dummy data

You can generate or reset your database and fill it with dummy data with the following command:

sail artisan migrate:fresh --seed

You also need to update your scout in order to have your data in the meilisearch.

sail artisan scout:flush "App\Models\<YourModel>"
~ All [App\Models\Event] records have been flushed.
sail artisan scout:import "App\Models\<YourModel>"

Running the Application

To start the application, use the following command:

sail -up -d
sail npm run dev

The application will be accessible at http://localhost.

Running the Tests

For now we have only end-to-end tests you can download the standalone cypress from here.

Create a new project and place the eventManagment.cy.js from the project /ReservationProjectV2/tests/cypress/e2e.

Built With

Contributing

Please read CONTRIBUTING.md for the process for submitting pull requests to us.

Versioning

For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Acknowledgments

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors