Haven Hopper is a rental application that allows users to browse, search, and book rentals. It includes role-based access control for admins, hosts (rental owners), and users. The platform supports multiple payment methods and host applications.
- Backend: Laravel 11
- Frontend: Vue.js, Inertia.js, TailwindCSS
- Admin Panel: FilamentPHP 3
- Database: MySQL
- Payment Integration: Stripe
- Approves/rejects rental listings.
- Approves/rejects host applications.
- Manages all data.
- Creates and manages amenities.
- Manages locations.
- Checks activity logs.
- Can create and manage rental listings.
- Can approve cash payment bookings.
- Can browse and search rentals.
- Must register and log in to book rentals.
- Can apply to become a host.
- Can browse and search available rentals.
- Cannot book rentals without registration.
- Hosts can create rentals.
- Rentals require admin approval before appearing on the homepage.
- Users can book rentals.
- Payment methods:
- Cash: Requires host approval.
- Stripe: No manual approval required.
- Users register first and verify their email.
- Users can apply to become a host by submitting a form.
- Admins can approve or reject host applications.
- Visitors and users can search rentals based on:
- Category
- Location
- Total guests
- Available dates
- Users must register and log in to book rentals.
- Email verification is required before applying as a host.
- Admins manage all approvals and data.
- Admins can create and manage amenities.
- Admins can manage locations.
- Admins can check activity logs for tracking actions.
- PHP 8.2+
- Composer
- Node.js & npm
- MySQL or any other configured database
- Clone the repository:
git clone https://github.com/RoyHridoy/haven-hopper.git cd haven-hopper
- Install dependencies:
composer install npm install && npm run build
- Set up environment variables:
cp .env.example .env php artisan key:generate
- Configure database credentials in
.env
.
- Configure database credentials in
- Run migrations and seed data:
php artisan migrate --seed
- Set up storage
php artisan storage:link
- Configure mail client from
.env
- Start the development server:
php artisan serve npm run dev
POST /register
- Register a new user.POST /login
- Authenticate user.POST /logout
- Log out user.
GET /rentals
- List all rentals.GET /rentals/{id}
- Get rental details.
POST /bookings
- Create a booking.GET /bookings
- List user bookings.
GET /host
- Host Dashboard.
GET /admin
- Admin Dashboard.
```bash
php artisan route:list --except-vendor
```
- Configure
.env
for production. - Use
php artisan config:cache
for optimized configuration. - Set up a queue worker for background jobs:
php artisan queue:work
We welcome contributions! Follow these steps to contribute:
- Fork the repository.
- Create a new feature branch.
- Make your changes and commit them.
- Run Following commands before give a PR
- Run Static Analysis Tool to check you have no error. To maintain codebase we use Larastan level 6.
composer analyse
- After running, if you faced any error, fix them.
- You have to ensure that you write tests for every feature you build. Check all tests are ok
php artisan test
- Make sure all the cases are ok to give a PR.
- Push your changes to your forked repository.
- Open a pull request with a detailed description. For visual changes, provide screenshot
Haven Hopper is open-source and available under the MIT License.