A modern airline management system with Multi-Guard authentication, and dual interface (API + Blade). Built with Laravel 11 and Tailwind CSS.
-
Admin Panel
- Complete system administration
- Flight management
- User management
- Booking oversight
- Analytics dashboard
- System configuration
-
User Interface
- Flight search and booking
- Booking history
- Profile management
- Email notifications
-
Guest Access
- Read-only access
- Multi-Guard Authentication
- CSRF Protection
- Rate Limiting
- Password Confirmation
- Session Management
- API Token Authentication
- Responsive Design
- Real-time Updates
- Interactive Maps
- Dynamic Search
- Filtering System
Welcome to SkyPulse - Your Gateway to the Skies
Secure login interface for user
Secure login interface for admin
User's personalized dashboard with booking history
Advanced flight search interface
Detailed view of flight information
Comprehensive admin control panel
- Laravel 11
- PHP 8.1+
- MySQL/PostgreSQL
- Laravel Sanctum
- Laravel Breeze
- Blade Components
- Tailwind CSS
- Alpine.js
- Livewire
- PHPUnit
- Xdebug
- Composer
- NPM
- Git
- PHP >= 8.1
- MySQL >= 8.0
- Node.js >= 16.x
- Composer
- Git
- XAMPP/WAMP/MAMP
- VSCode/PhpStorm
- Postman/Insomnia
- Git
- xdebug (for test coverage)
- Clone the repository:
git clone https://github.com/issamchlf/SkyPulse.git
cd SkyPulse- Install dependencies:
composer install
npm install- Environment setup:
cp .env.example .env
php artisan key:generate- Configure database in
.env:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=SkyPulse
DB_USERNAME=your_username
DB_PASSWORD=your_password- Database setup:
php artisan migrate:fresh --seed- Start development servers:
# Terminal 1
npm run dev
# Terminal 2
php artisan serve- Uncomment the following lines in
phpunit.xml:
<php>
<ini name="xdebug.mode" value="coverage"/>
<ini name="xdebug.start_with_request" value="1"/>
</php>- Run tests with coverage:
php artisan test --coverageCurrent test coverage: 73.6%
- Users β Reservations (One-to-Many)
- Flights β Reservations (One-to-Many)
- Planes β Flights (One-to-Many)
- Airlines β Planes (One-to-Many)
POST /login
POST /logout
POST /register
POST /admin/login
GET /api/flights
GET /api/flights/{id}
POST /api/flights
PUT /api/flights/{id}
DELETE /api/flights/{id}
GET /api/planes
GET /api/planes/{id}
POST /api/planes
PUT /api/planes/{id}
DELETE /api/planes/{id}
| Issam Chellaf |
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
For support, email [email protected] .








