Skip to content

andmalt/BoolBnB

Repository files navigation

Boolbnb

Boolbnb is my modification in the final project of the boolean.careers course, using a frontend exclusively with TypeScript React, Tailwind CSS and a backend with Laravel 12.

Quickly Start

To start the project, follow these steps:

  1. Clone the repository:
   git clone https://github.com/andmalt/BoolBnB
   cd BoolBnB
  1. Install backend dependencies using Composer:
   composer install
  1. Install frontend dependencies using npm:
   npm install
  1. Run the development server:
   npm run dev
  1. Set up your .env file for database configuration and other environment variables. You can copy the example file:
   cp .env.example .env
  1. Generate an application key:
   php artisan key:generate
  1. Run database migrations and seeders(fake data if needed):
   php artisan migrate

   php artisan db:seed
  1. Start the Laravel development server:
   php artisan serve
  1. Start the Scheduler (to run scheduled tasks):
   php artisan schedule:work

Now you can access the application at http://127.0.0.1:8000.

Requirements

  • PHP >= 8.4

  • Composer

  • Node.js >= 22.x

  • MySQL or any other database supported by Laravel

  • Minio (for local S3-compatible storage)

  • MINIO CLI (for managing S3 buckets) important to set the bucket and policies

MinIO (S3-compatible storage) + Public GET for photos

This project uses MinIO locally as an S3-compatible storage. Sets it to public download (anonymous GET), so images can be displayed in the browser without any authorization.

The initialization is done via MinIO Client (mc) using:

mc anonymous set download local/boolbnb

This enables unauthenticated read access (public GET) for listing in the bucket. For more information about MinIO policies, see the official documentation.

Laravel S3/MinIO env example

Make sure your .env contains something like:

FILESYSTEM_DISK=s3
AWS_ACCESS_KEY_ID=minioadmin
AWS_SECRET_ACCESS_KEY=minioadmin
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=boolbnb
AWS_ENDPOINT=http://minio:9000
AWS_USE_PATH_STYLE_ENDPOINT=true
AWS_URL=http://localhost:9000/boolbnb

Laravel uses the S3 driver (Flysystem) for MinIO as well. Laravel.


Note

Make sure to configure your database and other environment variables, principally AWS credentials, in the .env file before running migrations and seeders.

Docker (Recommended)

This project can be started entirely with Docker (Laravel + MySQL + MinIO + Scheduler).

Requirements

Docker >= 29.x

Start

docker compose up -d --build

Now open:


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors