PHPackages                             susheelhbti/rentwheel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. susheelhbti/rentwheel

ActiveLibrary[API Development](/categories/api)

susheelhbti/rentwheel
=====================

Modern car rental platform with Stripe integration, multi-user roles, and automated workflows

00PHPCI failing

Since May 18Pushed 3w agoCompare

[ Source](https://github.com/susheelhbti/rentwheel)[ Packagist](https://packagist.org/packages/susheelhbti/rentwheel)[ RSS](/packages/susheelhbti-rentwheel/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

🚗 RentWheel — Laravel Car Rental Platform
=========================================

[](#-rentwheel--laravel-car-rental-platform)

> A production-grade car rental platform built with Laravel 11, Stripe Connect, multi-role auth, and automated workflows.

[![Laravel](https://camo.githubusercontent.com/ca3de7d9dcec63ba4c78d1313bd2bfc932d5aa25a764eb3802935e6e7e569ec8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31312d4646324432303f6c6f676f3d6c61726176656c)](https://laravel.com)[![PHP](https://camo.githubusercontent.com/c4592483be21a67431df3607bb00d9aa91ffb5c78a669a30d52ae5acded2f96a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322b2d3737374242343f6c6f676f3d706870)](https://php.net)[![Stripe](https://camo.githubusercontent.com/dd732d54b63a6c561740a5c5ee993d765da9ce3b2f71794732938e682082c253/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5374726970652d436f6e6e6563742d3633354246463f6c6f676f3d737472697065)](https://stripe.com)[![License](https://camo.githubusercontent.com/5caa455d8debc46fb23abbadb45a733a937f3910a73fc875c2f7820468e1bb54/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e)](LICENSE)

**Built by [Susheel Kumar](mailto:susheelhbti@gmail.com) · Available for freelance work**

---

Features
--------

[](#features)

### 9 Modules · 54 Features

[](#9-modules--54-features)

ModuleHighlights**Database &amp; Models**12 tables, soft deletes, full-text search index, audit log**Car Search**Geo-radius, full-text, date availability, 8 filters, 5 sort modes**Booking Management**Overlap detection, extend, waitlist with auto-promote**Payments &amp; Payouts**Stripe PaymentIntents, deposits, refunds, Stripe Connect host payouts**Notifications**Email + SMS (Twilio) + in-app, queued, scheduled 24h/2h reminders**Host Management**Photo upload/reorder, availability calendar, peak pricing, earnings dashboard**Reviews &amp; Ratings**Two-way reviews, rating aggregation, admin moderation**Auth &amp; Security**Sanctum tokens, license verification, role middleware, rate limiting**Admin &amp; Analytics**Dashboard (cached), revenue reports, dispute management, user management---

Tech Stack
----------

[](#tech-stack)

- **Backend**: Laravel 11, PHP 8.2
- **Auth**: Laravel Sanctum (API tokens)
- **Payments**: Stripe (PaymentIntents + Connect)
- **Queue**: Redis + Laravel Queues
- **SMS**: Twilio
- **Email**: Laravel Mail (SMTP/Mailgun/SES)
- **Database**: MySQL 8 with full-text indexes
- **Cache**: Redis

---

Quick Start
-----------

[](#quick-start)

```
# Clone
git clone https://github.com/susheelhbti/rentwheel.git
cd rentwheel

# Install dependencies
composer install

# Environment setup
cp .env.example .env
php artisan key:generate

# Configure .env:
# DB_*, STRIPE_KEY, STRIPE_SECRET, STRIPE_WEBHOOK_SECRET
# TWILIO_SID, TWILIO_TOKEN, TWILIO_FROM
# MAIL_*, QUEUE_CONNECTION=redis

# Run migrations and seed demo data
php artisan migrate:fresh --seed

# Link storage
php artisan storage:link

# Start queue worker
php artisan queue:work redis --tries=3

# Start scheduler (local dev)
php artisan schedule:work
```

Demo accounts after seeding:

RoleEmailPasswordAdminpasswordHostpasswordRenterpassword---

API Overview
------------

[](#api-overview)

```
POST   /api/auth/register
POST   /api/auth/login
GET    /api/cars?q=&location=&start_date=&end_date=&category=&sort=
GET    /api/cars/{id}/availability
GET    /api/cars/{id}/price-estimate
POST   /api/bookings
POST   /api/bookings/{id}/payment-intent
POST   /api/bookings/{id}/cancel
POST   /api/bookings/{id}/extend
POST   /api/host/listings
GET    /api/host/earnings
GET    /api/admin/dashboard
GET    /api/admin/revenue

```

Full route list: [`routes/api.php`](routes/api.php)

---

Security
--------

[](#security)

- Input validation on every endpoint (whitelisted enums, type-cast integers, sanitised strings)
- Rate limiting: auth 10/min · public search 60/min · admin 30/min
- Stripe webhook signature verification + idempotency guard
- Role-based middleware (admin / host / license verified)
- Policy-based resource authorization (BookingPolicy, CarPolicy)
- Audit log on all model changes

---

Project Structure
-----------------

[](#project-structure)

```
app/
├── Http/Controllers/    # AuthController, BookingController, HostController, AdminController …
├── Http/Middleware/     # EnsureAdmin, EnsureHost, EnsureLicenseVerified, EnsureTwoFactor
├── Models/              # User, Car, Booking, Payment, Payout, Review, Dispute …
├── Notifications/       # BookingConfirmed, BookingCancelled, PaymentReceived …
├── Policies/            # BookingPolicy, CarPolicy
├── Services/            # CarSearchService, BookingService, PaymentService, HostService …
├── Observers/           # AuditObserver
└── Console/Commands/    # SendBookingReminders
database/
├── migrations/          # 3 migration files covering all 12 tables
└── seeders/             # DatabaseSeeder with demo data
resources/views/emails/  # 6 styled HTML email templates
routes/api.php           # All 40+ API routes
config/platform.php      # Centralised platform config (fees, TTLs, currency)

```

---

License
-------

[](#license)

MIT © 2024 Susheel Kumar

---

Author
------

[](#author)

**Susheel Kumar** — Laravel &amp; PHP Developer
📧
🐙 [github.com/susheelhbti](https://github.com/susheelhbti)

> Available for freelance projects. See [freelancer profile](FREELANCER_PROFILE.md) for services offered.

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance62

Regular maintenance activity

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/d1526758095ab08d95266bdd365dcf42735bf80c4a6eb1056f1b084c39a10dcb?d=identicon)[saksh-sky](/maintainers/saksh-sky)

---

Top Contributors

[![susheelhbti](https://avatars.githubusercontent.com/u/9462770?v=4)](https://github.com/susheelhbti "susheelhbti (3 commits)")

### Embed Badge

![Health badge](/badges/susheelhbti-rentwheel/health.svg)

```
[![Health](https://phpackages.com/badges/susheelhbti-rentwheel/health.svg)](https://phpackages.com/packages/susheelhbti-rentwheel)
```

###  Alternatives

[facebook/php-business-sdk

PHP SDK for Facebook Business

90923.5M35](/packages/facebook-php-business-sdk)[exsyst/swagger

A php library to manipulate Swagger specifications

35916.3M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24015.5M18](/packages/hubspot-api-client)[botman/driver-telegram

Telegram driver for BotMan

93452.6k6](/packages/botman-driver-telegram)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
