Веб додаток для оренди житла на Laravel + Livewire + Filament.
Це додаток для взаємодії орендарів і власників житла:
- орендарі переглядають оголошення, бронюють житло, та залишають оцінку
- власники керують запитами на бронювання
- адміністратори працюють через адмін панель
- Каталог житла та сторінка детального перегляду житла
- Реєстрація, вхід і особистий кабінет користувача
- Створення бронювання для авторизованих користувачів
- Real-time сповіщення
- Кабінет орендаря з можливістю запиту на скасування та залишення відгуку
- Кабінет власника для підтвердження/відхилення бронювань
- Адмін панель для адміністрації проєкту
- PHP 8.3+
- Laravel 12
- Livewire 3
- Filament 4
- MySQL
- Vite + Tailwind CSS
- Laravel Reverb (broadcast/websocket)
- Зареєструватись та увійти в акаунт
- Відкрити головну сторінку (
/) та обрати об’єкт - Перейти на сторінку об’єкта (
/properties/{property}) - Забронювати об'єкт нерухомості на вільний час
- Очікувати підтвердження або відмови від власника
- Перейти в
/owner/booking-requests - Підтвердити або відхилити запит на бронювання
- Переглянути/відредагувати власні оголошення в
/my-properties
- PHP
^8.3 - Composer
- Node.js
18+ - npm
- MySQL
8+
- Клонувати репозиторій:
git clone <repo-url>
cd Room-Rentals- Підготувати
.env:
cp .env.example .env
php artisan key:generate- Перевірити/вказати змінні в
.envдля Docker:
APP_URL=http://localhost
APP_PORT=80
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=room-rentals
DB_USERNAME=room-rentals
DB_PASSWORD=room-rentals
FORWARD_DB_PORT=3306
BROADCAST_CONNECTION=reverb
REVERB_APP_ID=room-rentals
REVERB_APP_KEY=room-rentals-key
REVERB_APP_SECRET=room-rentals-secret
REVERB_HOST=localhost
REVERB_PORT=8080
REVERB_SCHEME=http
VITE_REVERB_APP_KEY="${REVERB_APP_KEY}"
VITE_REVERB_HOST="${REVERB_HOST}"
VITE_REVERB_PORT="${REVERB_PORT}"
VITE_REVERB_SCHEME="${REVERB_SCHEME}"
MAIL_MAILER=smtp
MAIL_SCHEME=null
MAIL_HOST=mailpit
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_FROM_ADDRESS=no-reply@room-rentals.local
MAIL_FROM_NAME="${APP_NAME}"
FORWARD_MAILPIT_PORT=1025
FORWARD_MAILPIT_DASHBOARD_PORT=8025- Запустити контейнери:
docker compose up -d- Виконати міграції і сидер:
docker compose exec room-rentals-app php artisan migrate
docker compose exec room-rentals-app php artisan db:seed --force- Доступні сервіси:
- Застосунок:
http://localhost - Mailpit UI(для підвтерждення почти):
http://localhost:8025
- Встановити залежності:
composer install
npm install- Підготувати
.env:
cp .env.example .env
php artisan key:generate- Вказати змінні БД у
.env(для локального MySQL):
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=room-rentals
DB_USERNAME=room-rentals
DB_PASSWORD=room-rentals- Запустити міграції:
php artisan migrate- Запустити проєкт у dev-режимі:
php artisan reverb:start
php artisan queue:work
composer devПісля запуску застосунок буде доступний за адресою http://localhost:8000.
npm run build
composer install --no-dev --optimize-autoloader
php artisan migrate --force
php artisan config:cache
php artisan route:cache
php artisan view:cacheПроєкт розповсюджується за ліцензією MIT.



