{"id":25216542,"url":"https://github.com/royhridoy/haven-hopper","last_synced_at":"2025-10-25T15:31:43.219Z","repository":{"id":275191748,"uuid":"916950646","full_name":"RoyHridoy/haven-hopper","owner":"RoyHridoy","description":"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.","archived":false,"fork":false,"pushed_at":"2025-02-01T17:03:14.000Z","size":1476,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-10T19:18:28.155Z","etag":null,"topics":["admin-dashboard","booking-system","filamentphp","host-dashboard","inertiajs","laravel","multi-user","mysql","open-source","php","property-management","rental-app","role-based-auth","stripe-integration","tailwindcss","vuejs"],"latest_commit_sha":null,"homepage":"http://ic.misbah.co/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RoyHridoy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-15T04:08:38.000Z","updated_at":"2025-01-31T17:45:42.000Z","dependencies_parsed_at":"2025-01-31T19:38:28.761Z","dependency_job_id":null,"html_url":"https://github.com/RoyHridoy/haven-hopper","commit_stats":null,"previous_names":["royhridoy/haven-hopper"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoyHridoy%2Fhaven-hopper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoyHridoy%2Fhaven-hopper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoyHridoy%2Fhaven-hopper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoyHridoy%2Fhaven-hopper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RoyHridoy","download_url":"https://codeload.github.com/RoyHridoy/haven-hopper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238171365,"owners_count":19428161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin-dashboard","booking-system","filamentphp","host-dashboard","inertiajs","laravel","multi-user","mysql","open-source","php","property-management","rental-app","role-based-auth","stripe-integration","tailwindcss","vuejs"],"created_at":"2025-02-10T19:18:35.538Z","updated_at":"2025-10-25T15:31:42.069Z","avatar_url":"https://github.com/RoyHridoy.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Haven Hopper\n\n## Overview\nHaven 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.\n\n## 📦 Technologies Used\n- **Backend**: Laravel 11\n- **Frontend**: Vue.js, Inertia.js, TailwindCSS\n- **Admin Panel**: FilamentPHP 3\n- **Database**: MySQL\n- **Payment Integration**: Stripe\n\n---\n\n## 🔑 User Roles \u0026 Permissions\n### 1. Admin\n- Approves/rejects rental listings.\n- Approves/rejects host applications.\n- Manages all data.\n- Creates and manages amenities.\n- Manages locations.\n- Checks activity logs.\n\n### 2. Host (Rental Owner)\n- Can create and manage rental listings.\n- Can approve cash payment bookings.\n\n### 3. User\n- Can browse and search rentals.\n- Must register and log in to book rentals.\n- Can apply to become a host.\n\n### 4. Visitor\n- Can browse and search available rentals.\n- Cannot book rentals without registration.\n\n---\n\n## 📌 Features\n### 1. Rental Management\n- Hosts can create rentals.\n- Rentals require admin approval before appearing on the homepage.\n\n### 2. Booking System\n- Users can book rentals.\n- Payment methods:\n  - **Cash**: Requires host approval.\n  - **Stripe**: No manual approval required.\n\n### 3. Host Application Process\n- Users register first and verify their email.\n- Users can apply to become a host by submitting a form.\n- Admins can approve or reject host applications.\n\n### 4. Search \u0026 Filtering\n- Visitors and users can search rentals based on:\n  - Category\n  - Location\n  - Total guests\n  - Available dates\n\n### 5. Authentication \u0026 Authorization\n- Users must register and log in to book rentals.\n- Email verification is required before applying as a host.\n- Admins manage all approvals and data.\n\n### 6. Admin Panel Enhancements\n- Admins can create and manage **amenities**.\n- Admins can manage **locations**.\n- Admins can **check activity logs** for tracking actions.\n\n---\n\n## 💻 Installation Guide\n### Prerequisites\n- PHP 8.2+\n- Composer\n- Node.js \u0026 npm\n- MySQL or any other configured database\n\n### Setup Steps\n1. Clone the repository:\n   ```sh\n   git clone https://github.com/RoyHridoy/haven-hopper.git\n   cd haven-hopper\n   ```\n2. Install dependencies:\n   ```bash\n   composer install\n   npm install \u0026\u0026 npm run build\n   ```\n3. Set up environment variables:\n   ```bash\n   cp .env.example .env\n   php artisan key:generate\n   ```\n   - Configure database credentials in `.env`.\n4. Run migrations and seed data:\n   ```bash\n   php artisan migrate --seed\n   ```\n5. Set up storage\n   ```bash\n   php artisan storage:link\n   ```\n6. Configure mail client from `.env`\n7. Start the development server:\n   ```bash\n   php artisan serve\n   npm run dev\n   ```\n\n---\n\n## 📈 Some Endpoints\n### Authentication\n- `POST /register` - Register a new user.\n- `POST /login` - Authenticate user.\n- `POST /logout` - Log out user.\n\n### Rentals\n- `GET /rentals` - List all rentals.\n- `GET /rentals/{id}` - Get rental details.\n\n### Booking\n- `POST /bookings` - Create a booking.\n- `GET /bookings` - List user bookings.\n\n### Host Actions\n- `GET /host` - Host Dashboard.\n\n### Admin Actions\n- `GET /admin` - Admin Dashboard.\n\n### All Endpoints\n    ```bash\n    php artisan route:list --except-vendor\n    ```\n\n---\n\n## 🚀 Deployment\n- Configure `.env` for production.\n- Use `php artisan config:cache` for optimized configuration.\n- Set up a queue worker for background jobs:\n  ```bash\n  php artisan queue:work\n  ```\n\n---\n\n## 🤝 Contribution\nWe welcome contributions! Follow these steps to contribute:\n1. Fork the repository.\n2. Create a new feature branch.\n3. Make your changes and commit them.\n4. Run Following commands before give a PR\n   1. Run Static Analysis Tool to check you have no error. To maintain codebase we use [**Larastan**](https://github.com/larastan/larastan) **level 6**.\n    ```bash\n    composer analyse\n    ```\n   2. After running, if you faced any error, fix them.\n   3. You have to ensure that you write tests for every feature you build. Check all tests are ok\n    ```bash\n    php artisan test\n    ```\n    4. Make sure all the cases are ok to give a PR.\n5. Push your changes to your forked repository.\n6. Open a pull request with a detailed description. For visual changes, provide screenshot\n\n---\n\n## ✅ License\nHaven Hopper is open-source and available under the MIT License.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froyhridoy%2Fhaven-hopper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froyhridoy%2Fhaven-hopper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froyhridoy%2Fhaven-hopper/lists"}