This is the full-stack bus reservation application. It was created to help people book bus trips across multiple cities in a more organized and efficient way.
-
Clone the repository:
git clone https://github.com/Msalah11/busly.git cd busly -
Install PHP dependencies:
composer install
-
Install Node.js dependencies:
npm install
-
Copy the example environment file and generate an application key:
cp .env.example .env php artisan key:generate
-
Run migrations and sedders:
php artisan migrate php artisan db:seed
Pest
Pest is a testing framework with a focus on simplicity, meticulously designed to bring back the joy of testing in PHP.
Larastan
Larastan focuses on finding errors in your code. It catches whole classes of bugs even before you write tests for the code.
Laravel Pint
Laravel Pint is an opinionated PHP code style fixer for minimalists.
Rector
Rector instantly upgrades and refactors the PHP code of your application.
laravel/telescope
Telescope provides insight into the requests coming into your application, exceptions, log entries, database queries, queued jobs, mail, notifications, cache operations, scheduled tasks, variable dumps, and more.
- City Management: Add and manage cities for bus routes
- Bus Fleet Management: Manage buses with different types and capacities
- Trip Scheduling: Create and manage bus trips between cities
- Reservation System: Allow users to book seats on available trips
- User Dashboard: Users can view their reservations and trip history
- Admin Dashboard: Comprehensive admin panel for managing the entire system
- Role-based Access Control: Separate access levels for users and administrators
The main landing page where users can search for available trips.
Users can view trip details and book their seats with an intuitive booking interface.
Users can view and manage their booked trips and reservation history.
Comprehensive dashboard providing overview of system statistics and key metrics.
Admin interface for managing all trips in the system.
Detailed form for creating and editing trip information.
Admin panel for monitoring system alerts and notifications.
To run all tests, use the following command:
composer testTo run specific test suites:
# Run PHPStan static analysis
composer test:types
# Run Pest unit tests
composer test:unit
# Run Rector tests
composer test:rector
# Apply Rector changes
composer rector
# Run code style tests
composer test:lint
# Fix code style
composer lint
# Run type coverage tests
composer test:type-coverageThis project is licensed under the MIT License. See the LICENSE file for details.