|
1 | | -<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400" alt="Laravel Logo"></a></p> |
| 1 | +# Busly |
2 | 2 |
|
3 | | -<p align="center"> |
4 | | -<a href="https://github.com/laravel/framework/actions"><img src="https://github.com/laravel/framework/workflows/tests/badge.svg" alt="Build Status"></a> |
5 | | -<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a> |
6 | | -<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a> |
7 | | -<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a> |
8 | | -</p> |
| 3 | +This is the backend of the Busly project, a bus reservation application. |
| 4 | +It was created to help people book bus trips across multiple cities in a more organized and efficient way. |
9 | 5 |
|
10 | | -## About Laravel |
| 6 | +## Installation |
11 | 7 |
|
12 | | -Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as: |
| 8 | +Busly backend is a Laravel application; it's built on top of Laravel 12 and uses a MySQL database. |
| 9 | +It's recommended to use Laravel Sail to run the application, but you can also run it locally if you have MySQL installed. |
13 | 10 |
|
14 | | -- [Simple, fast routing engine](https://laravel.com/docs/routing). |
15 | | -- [Powerful dependency injection container](https://laravel.com/docs/container). |
16 | | -- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage. |
17 | | -- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent). |
18 | | -- Database agnostic [schema migrations](https://laravel.com/docs/migrations). |
19 | | -- [Robust background job processing](https://laravel.com/docs/queues). |
20 | | -- [Real-time event broadcasting](https://laravel.com/docs/broadcasting). |
| 11 | +1. **Clone the repository:** |
| 12 | + ```bash |
| 13 | + git clone https://github.com/your-username/busly.git |
| 14 | + cd busly |
| 15 | + ``` |
21 | 16 |
|
22 | | -Laravel is accessible, powerful, and provides tools required for large, robust applications. |
| 17 | +2. **Run Sail to start the development server:** |
| 18 | + ```bash |
| 19 | + ./vendor/bin/sail up -d |
| 20 | + ./vendor/bin/sail shell |
| 21 | + ``` |
23 | 22 |
|
24 | | -## Learning Laravel |
| 23 | +3. **Install PHP dependencies:** |
| 24 | + ```bash |
| 25 | + composer install |
| 26 | + ``` |
25 | 27 |
|
26 | | -Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework. |
| 28 | +4. **Install Node.js dependencies:** |
| 29 | + ```bash |
| 30 | + npm install |
| 31 | + ``` |
27 | 32 |
|
28 | | -You may also try the [Laravel Bootcamp](https://bootcamp.laravel.com), where you will be guided through building a modern Laravel application from scratch. |
| 33 | +5. **Copy the example environment file and generate an application key:** |
| 34 | + ```bash |
| 35 | + cp .env.example .env |
| 36 | + php artisan key:generate |
| 37 | + ``` |
29 | 38 |
|
30 | | -If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library. |
| 39 | +5. **Run migrations and sedders:** |
| 40 | + ```bash |
| 41 | + php artisan migrate |
| 42 | + php artisan db:seed |
| 43 | + ``` |
31 | 44 |
|
32 | | -## Laravel Sponsors |
| 45 | +## Packages |
33 | 46 |
|
34 | | -We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the [Laravel Partners program](https://partners.laravel.com). |
| 47 | +### For Production |
35 | 48 |
|
36 | | -### Premium Partners |
| 49 | +**inertiajs/inertia-laravel** |
| 50 | +Inertia.js lets you quickly build modern single-page React, Vue and Svelte apps using classic server-side routing and controllers. |
37 | 51 |
|
38 | | -- **[Vehikl](https://vehikl.com)** |
39 | | -- **[Tighten Co.](https://tighten.co)** |
40 | | -- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)** |
41 | | -- **[64 Robots](https://64robots.com)** |
42 | | -- **[Curotec](https://www.curotec.com/services/technologies/laravel)** |
43 | | -- **[DevSquad](https://devsquad.com/hire-laravel-developers)** |
44 | | -- **[Redberry](https://redberry.international/laravel-development)** |
45 | | -- **[Active Logic](https://activelogic.com)** |
| 52 | +**tightenco/ziggy** |
| 53 | +Ziggy provides a JavaScript route() helper function that works like Laravel's, making it easy to use your Laravel named routes in JavaScript. |
46 | 54 |
|
47 | | -## Contributing |
| 55 | +**laravel/telescope** |
| 56 | +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. |
48 | 57 |
|
49 | | -Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions). |
| 58 | +### For Development |
50 | 59 |
|
51 | | -## Code of Conduct |
| 60 | +**Laravel Sail** |
| 61 | +Laravel Sail is a light-weight command-line interface for interacting with Laravel's default Docker development environment. |
52 | 62 |
|
53 | | -In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct). |
| 63 | +**Pest** |
| 64 | +Pest is a testing framework with a focus on simplicity, meticulously designed to bring back the joy of testing in PHP. |
54 | 65 |
|
55 | | -## Security Vulnerabilities |
| 66 | +**Larastan** |
| 67 | +Larastan focuses on finding errors in your code. It catches whole classes of bugs even before you write tests for the code. |
56 | 68 |
|
57 | | -If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed. |
| 69 | +**Laravel Pint** |
| 70 | +Laravel Pint is an opinionated PHP code style fixer for minimalists. |
| 71 | + |
| 72 | +**Rector** |
| 73 | +Rector instantly upgrades and refactors the PHP code of your application. |
| 74 | + |
| 75 | +## Features |
| 76 | + |
| 77 | +- **City Management**: Add and manage cities for bus routes |
| 78 | +- **Bus Fleet Management**: Manage buses with different types and capacities |
| 79 | +- **Trip Scheduling**: Create and manage bus trips between cities |
| 80 | +- **Reservation System**: Allow users to book seats on available trips |
| 81 | +- **User Dashboard**: Users can view their reservations and trip history |
| 82 | +- **Admin Dashboard**: Comprehensive admin panel for managing the entire system |
| 83 | +- **Role-based Access Control**: Separate access levels for users and administrators |
| 84 | + |
| 85 | +## Screenshots |
| 86 | + |
| 87 | +### User Interface |
| 88 | + |
| 89 | +#### Home Page |
| 90 | +The main landing page where users can search for available trips. |
| 91 | + |
| 92 | + |
| 93 | + |
| 94 | +#### Trip Booking |
| 95 | +Users can view trip details and book their seats with an intuitive booking interface. |
| 96 | + |
| 97 | + |
| 98 | + |
| 99 | +#### User Trip Management |
| 100 | +Users can view and manage their booked trips and reservation history. |
| 101 | + |
| 102 | + |
| 103 | + |
| 104 | +### Admin Interface |
| 105 | + |
| 106 | +#### Admin Dashboard |
| 107 | +Comprehensive dashboard providing overview of system statistics and key metrics. |
| 108 | + |
| 109 | + |
| 110 | + |
| 111 | +#### Trip Management |
| 112 | +Admin interface for managing all trips in the system. |
| 113 | + |
| 114 | + |
| 115 | + |
| 116 | +#### Trip Creation Form |
| 117 | +Detailed form for creating and editing trip information. |
| 118 | + |
| 119 | + |
| 120 | + |
| 121 | +#### System Alerts |
| 122 | +Admin panel for monitoring system alerts and notifications. |
| 123 | + |
| 124 | + |
| 125 | + |
| 126 | +## Testing |
| 127 | + |
| 128 | +To run all tests, use the following command: |
| 129 | +```bash |
| 130 | +composer test |
| 131 | +``` |
| 132 | + |
| 133 | +To run specific test suites: |
| 134 | + |
| 135 | +```bash |
| 136 | +# Run PHPStan static analysis |
| 137 | +composer test:types |
| 138 | + |
| 139 | +# Run Pest unit tests |
| 140 | +composer test:unit |
| 141 | + |
| 142 | +# Run Rector tests |
| 143 | +composer test:rector |
| 144 | + |
| 145 | +# Apply Rector changes |
| 146 | +composer rector |
| 147 | + |
| 148 | +# Run code style tests |
| 149 | +composer test:lint |
| 150 | + |
| 151 | +# Fix code style |
| 152 | +composer lint |
| 153 | + |
| 154 | +# Run type coverage tests |
| 155 | +composer test:type-coverage |
| 156 | +``` |
58 | 157 |
|
59 | 158 | ## License |
60 | 159 |
|
61 | | -The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). |
| 160 | +This project is licensed under the MIT License. See the LICENSE file for details. |
0 commit comments