A cross-platform car rental booking application for tourism. This repository contains the Laravel-based web admin panel for monitoring car bookings and the REST API that serves the mobile application.
RentACar is a comprehensive car rental management system that consists of:
- Web Admin Panel (this repository) - Built with Laravel for managing bookings, vehicles, and members
- Mobile App - Flutter/React Native application for customers to book cars
- REST API - Laravel API endpoints consumed by the mobile application
- Vehicle Management: CRUD operations for three vehicle categories:
- Small Cars (Mobil Kecil)
- Large Cars (Mobil Besar)
- Minibus
- Member Management: Handle customer profiles and information
- Booking System: Monitor and manage car rental bookings
- Authentication: Secure login, register, and logout functionality for admin
- REST API: Provides endpoints for mobile application integration
- Admin Dashboard: Comprehensive frontend for monitoring operations
- Framework: Laravel 8.x/9.x
- Language: PHP 7.4+
- Database: MySQL
- Frontend: Blade Templates, CSS, JavaScript
- Package Manager: Composer, NPM
- PHP >= 7.4
- Composer
- MySQL
- Node.js & NPM
-
Clone the repository
git clone https://github.com/Otniel113/RentACar.git cd RentACar -
Install PHP dependencies
composer install
-
Install Node dependencies
npm install
-
Configure environment
cp .env.example .env
Then edit
.envfile with your database credentials:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=rentacar DB_USERNAME=your_username DB_PASSWORD=your_password -
Generate application key
php artisan key:generate
-
Run migrations and seeders
php artisan migrate --seed
-
Build frontend assets
npm run dev
-
Start the development server
php artisan serve --port=8000
-
Access the application
- Web Admin Panel:
http://localhost:8000 - API Endpoints:
http://localhost:8000/api
- Web Admin Panel:
Note: You don't really need Node or NPM if you can run it with XAMPP.
RentACar/
├── app/
│ ├── Http/Controllers/ # Controllers for handling requests
│ ├── Models/ # Eloquent models
│ │ ├── Booking.php
│ │ ├── Member.php
│ │ ├── Minibus.php
│ │ ├── MobilBesar.php
│ │ ├── MobilKecil.php
│ │ └── User.php
│ └── Providers/
├── database/
│ ├── migrations/ # Database migrations
│ └── seeders/ # Database seeders
├── public/ # Public assets
├── resources/
│ └── views/ # Blade templates
├── routes/
│ ├── api.php # API routes
│ └── web.php # Web routes
└── storage/
The application provides REST API endpoints for the mobile application. Base URL: http://localhost:8000/api
GET /api/vehicles- Get all vehiclesGET /api/bookings- Get all bookingsPOST /api/bookings- Create new bookingGET /api/members- Get all members
(For complete API documentation, refer to the routes/api.php file)
This project was developed by:
-
Otniel Abiezer
- Small Cars & Large Cars (CRUD + Database)
- REST API Development
-
Gilang M Rizky
- Authentication System (Login, Register, Logout)
- Admin CRUD + Database
-
Winico Fazry
- Member/Profile Management (View)
- Member CRUD + Database
-
Aulia Arief
- Minibus Module (CRUD + Database)
- Frontend Views (Majority)
This project is developed for educational purposes as part of Platform-Based Application course.
Contributions, issues, and feature requests are welcome!
For questions or support, please contact the development team through the GitHub repository.