Motorcycle Rental Website
Project Details
# Motorcycle Rental Website
A modern motorcycle rental management system built with Laravel and Filament, providing a complete online rental service.
## 🚀 Features
### Frontend
* **Member System**: Registration, login, personal profile management
* **Motorcycle Browsing**: View available motorcycles, details, and pricing
* **Online Booking**: Select rental period, add to cart, checkout online
* **Order Management**: View rental history and order status
* **Store Information**: Check branch locations and contact info
### Backend (Filament Admin)
* **Motorcycle Management**: Add, edit, delete motorcycle info
* **Store Management**: Manage branch information
* **Member Management**: View and manage member data
* **Order Management**: View all rental orders (read-only)
* **Order Details**: View detailed order info
* **Dashboard**: Statistics, charts, real-time data
## 🛠 Tech Stack
### Backend
* **Laravel 12** – PHP framework
* **Filament 3** – Admin panel
* **MySQL/SQLite** – Database
* **Laravel Sanctum** – API authentication
### Frontend
* **Bootstrap 5** – UI framework
* **jQuery 3.7.1** – JavaScript library
* **Bootstrap Icons** – Icon library
* **Flatpickr** – Date picker
* **TinyMCE** – Rich text editor
### Integrations
* **ECPay** – Online payment system
* **Intervention Image** – Image processing
## 📋 Requirements
* PHP 8.1 or higher
* Composer
* Node.js & NPM
* MySQL 5.7+ or SQLite
* Web server (Apache/Nginx)
## 🚀 Installation
### 1. Clone the repository
```bash
git clone [repository-url]
cd rent-bike-new
```
### 2. Install PHP dependencies
```bash
composer install
```
### 3. Environment setup
```bash
cp .env.example .env
php artisan key:generate
```
### 4. Database setup
```bash
# Configure database in .env
php artisan migrate
php artisan db:seed
```
### 5. Install Filament
```bash
php artisan filament:install --panels
php artisan vendor:publish --tag=filament-config
```
### 6. Create an admin account
```bash
php artisan make:filament-user
```
### 7. Install frontend dependencies (optional)
```bash
npm install
npm run dev
```
## 📁 Project Structure
```
rent-bike-new/
├── app/
│ ├── Filament/Resources/ # Filament resources
│ ├── Http/Controllers/ # Controllers
│ └── Models/ # Models
├── database/
│ ├── migrations/ # Migrations
│ └── seeders/ # Seeders
├── resources/
│ └── views/ # Blade views
├── routes/
│ └── web.php # Routes
└── public/ # Public assets
```
## 🗄 Database Schema
### Main Tables
* **members** – Member information
* **motorcycles** – Motorcycle information
* **stores** – Store information
* **orders** – Order header
* **order\_details** – Order details
* **carts** – Shopping cart
* **cart\_details** – Cart details
## 🔐 Security
### Member Registration
* Password strength validation (min. 8 characters, uppercase, lowercase, numbers)
* Real-time password strength checking
* Password confirmation check
* Terms of Service & Privacy Policy consent
### Data Protection
* CSRF protection
* SQL injection prevention
* XSS prevention
* Encrypted personal data storage
## 💳 Payment
### ECPay Integration
* Credit card payments
* ATM transfers
* Secure encrypted transmission
* Payment status tracking
## 📱 Responsive Design
* Desktop, tablet, mobile support
* Bootstrap 5 responsive grid
* Touch-friendly interface
## 🌐 Multi-language Support
* Traditional Chinese interface
* Filament localization
* Extensible multi-language support
## 🔧 Developer Tools
### Common Commands
```bash
# Clear cache
php artisan optimize:clear
# Rebuild Filament assets
php artisan filament:assets
# List routes
php artisan route:list
# Reset database
php artisan migrate:fresh --seed
```
### Dev Tools
* Laravel Sail (Docker)
* Laravel Telescope (debugging)
* Laravel Debugbar
## 📊 Backend Features
### Dashboard
* Available motorcycle stats
* Rented motorcycle stats
* Reservation stats
* Real-time charts
### Resource Management
* **Motorcycles**: CRUD, image upload, status management
* **Stores**: Branch info, motorcycle relations
* **Members**: Profiles, rental history
* **Orders**: Read-only access to all orders
## 🚨 Important Notes
### Order Restrictions
* Order system is read-only (no create/update/delete)
* Ensure data integrity and audit trail
* Compliance with legal requirements
### File Upload
* Auto image compression & format conversion
* Secure file naming
* Storage management
## 🤝 Contribution Guide
1. Fork the repo
2. Create a feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## 📄 License
This project is licensed under the MIT License – see the [LICENSE](LICENSE) file.
## 📞 Contact
* Maintainer: \[Your Name]
* Email: \[Your Email]
* Project Link: \[GitHub link]
## 🙏 Acknowledgments
* [Laravel](https://laravel.com/) – PHP framework
* [Filament](https://filamentphp.com/) – Admin panel
* [Bootstrap](https://getbootstrap.com/) – Responsive UI
* [ECPay](https://www.ecpay.com.tw/) – Payment gateway
---
**Version**: 1.0.0
**Last Updated**: {{ date('F d, Y') }}
Project Information
Project Name:
Motorcycle Rental Website
Motorcycle Rental Website
Website Link:
https://rent-bike.ai-tracks.com
https://rent-bike.ai-tracks.com
Created Date:
2025-08-13
2025-08-13