Skip to content

issamchlf/SkyPulse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

117 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SkyPulse Airline Management System ✈️

A modern airline management system with Multi-Guard authentication, and dual interface (API + Blade). Built with Laravel 11 and Tailwind CSS.

Laravel

🌟 Key Features

Role-Based Access Control

  • 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

Advanced Security Features

  • Multi-Guard Authentication
  • CSRF Protection
  • Rate Limiting
  • Password Confirmation
  • Session Management
  • API Token Authentication

Modern Interface

  • Responsive Design
  • Real-time Updates
  • Interactive Maps
  • Dynamic Search
  • Filtering System

πŸ“Έ Application Screenshots

Public Pages

Home Pagescreencapture-127-0-0-1-8000-2025-03-28-13_38_07

Welcome to SkyPulse - Your Gateway to the Skies

Authentication

Login PageScreenshot 2025-03-28 133445

Secure login interface for user

Login Page for AdminScreenshot 2025-03-28 133505

Secure login interface for admin

User Dashboard

Main Dashboardscreencapture-127-0-0-1-8000-dashboard-2025-03-28-13_37_50

User's personalized dashboard with booking history

Flight Searchscreencapture-127-0-0-1-8000-flights-2025-03-28-13_37_32

Advanced flight search interface

Flight Detailsscreencapture-127-0-0-1-8000-flights-1-2025-03-28-13_36_41

Detailed view of flight information

Admin Panel

Admin Dashboardscreencapture-127-0-0-1-8000-admin-dashboard-2025-03-28-13_38_42

Comprehensive admin control panel

πŸ›  Technology Stack

Backend

  • Laravel 11
  • PHP 8.1+
  • MySQL/PostgreSQL
  • Laravel Sanctum
  • Laravel Breeze

Frontend

  • Blade Components
  • Tailwind CSS
  • Alpine.js
  • Livewire

Development Tools

  • PHPUnit
  • Xdebug
  • Composer
  • NPM
  • Git

πŸ”ŽπŸ“ Installation Requirements

System Requirements

  • PHP >= 8.1
  • MySQL >= 8.0
  • Node.js >= 16.x
  • Composer
  • Git

Development Environment

  • XAMPP/WAMP/MAMP
  • VSCode/PhpStorm
  • Postman/Insomnia
  • Git
  • xdebug (for test coverage)

πŸ”§βš™οΈ Installation

  1. Clone the repository:
git clone https://github.com/issamchlf/SkyPulse.git
cd SkyPulse
  1. Install dependencies:
composer install
npm install
  1. Environment setup:
cp .env.example .env
php artisan key:generate
  1. 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
  1. Database setup:
php artisan migrate:fresh --seed
  1. Start development servers:
# Terminal 1
npm run dev

# Terminal 2
php artisan serve

πŸƒβ€β™‚οΈπŸ§ͺ Running Tests

Test Coverage Setup

  1. Uncomment the following lines in phpunit.xml:
<php>
    <ini name="xdebug.mode" value="coverage"/>
    <ini name="xdebug.start_with_request" value="1"/>
</php>
  1. Run tests with coverage:
php artisan test --coverage

Current test coverage: 73.6%

Test Coverage Screenshot

πŸ“ŠπŸ“ Database Structure

Database Diagram

Key Relationships

  • Users β†’ Reservations (One-to-Many)
  • Flights β†’ Reservations (One-to-Many)
  • Planes β†’ Flights (One-to-Many)
  • Airlines β†’ Planes (One-to-Many)

πŸ“‘πŸŒ API Documentation

Authentication Endpoints

POST /login
POST /logout
POST /register
POST /admin/login

Flight Management

GET    /api/flights
GET    /api/flights/{id}
POST   /api/flights
PUT    /api/flights/{id}
DELETE /api/flights/{id}

Plane Management

GET    /api/planes
GET    /api/planes/{id}
POST   /api/planes
PUT    /api/planes/{id}
DELETE /api/planes/{id}

πŸ› οΈπŸš€ Technologies & Tools

PHP HTML5 CSS3 MySQL LARAVEL VSC Git GitHub composer postman node.js xampp tailwindcss javascript

βœοΈπŸ™ Authors

| Issam Chellaf |

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ž Support

For support, email [email protected] .

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages