andresam321 / SkyHighOps

4 stars 0 forks source link

SkyHighOps Aviation

SkyHighOps Aviation is an advanced airplane management system designed to enhance airport efficiency. This system enables precise management of airport spaces by allowing users to add and manage parking spots and dynamically assign or unassign aircraft to these spots for optimal space utilization. It also supports the registration of aircraft owners, maintaining clear ownership records. A forthcoming feature will handle fuel requests, enabling employees to view, accept, or mark requests as pending, thereby improving operational response times. Built with Flask, React, Redux, PostgreSQL, Cloudinary, AWS, and Docker, SkyHighOps offers robustness, scalability, and a user-friendly interface, ensuring reliability and adaptability to evolving airport needs.

Live Link

https://skyhighops.onrender.com

SkyhighOps Images

skyhighops

sky

skyhigh

Endpoints

Log in user

{
  "email": "andres@aa.io",
  "password": "password"
}

Get all airport areas

{
    "airport": [
        "North",
        "East",
        "West",
        "South"
    ]
}

Get parking spots that correspond to that area

{
    "airport": [
        {
            "id": 1,
            "parking_name": "North",
            "parking_spots": [
                {
                    "airport_parking_id": 1,
                    "id": 1,
                    "is_reserved": "Yes",
                    "spot_number": "A1",
                    "spot_size": "Large",
                    "user_id": 1
                },
                {
                    "airport_parking_id": 1,
                    "id": 2,
                    "is_reserved": "Yes",
                    "spot_number": "A2",
                    "spot_size": "Medium",
                    "user_id": 2
                },
                {
                    "airport_parking_id": 1,
                    "id": 9,
                    "is_reserved": "Yes",
                    "spot_number": "E1",
                    "spot_size": "Small",
                    "user_id": 4
                },
                {
                    "airport_parking_id": 1,
                    "id": 10,
                    "is_reserved": "Yes",
                    "spot_number": "E2",
                    "spot_size": "Large",
                    "user_id": 1
                }
            ]
        },
        {
            "id": 2,
            "parking_name": "East",
            "parking_spots": [
                {
                    "airport_parking_id": 2,
                    "id": 3,
                    "is_reserved": "Yes",
                    "spot_number": "B1",
                    "spot_size": "Small",
                    "user_id": 3
                },
                {
                    "airport_parking_id": 2,
                    "id": 4,
                    "is_reserved": "Yes",
                    "spot_number": "B2",
                    "spot_size": "Large",
                    "user_id": 4
                },
                {
                    "airport_parking_id": 2,
                    "id": 11,
                    "is_reserved": "Yes",
                    "spot_number": "E4",
                    "spot_size": "Large",
                    "user_id": 1
                },
                {
                    "airport_parking_id": 2,
                    "id": 12,
                    "is_reserved": "No",
                    "spot_number": "E332",
                    "spot_size": "Large",
                    "user_id": 1
                }
            ]
        },
        {
            "id": 3,
            "parking_name": "West",
            "parking_spots": [
                {
                    "airport_parking_id": 3,
                    "id": 5,
                    "is_reserved": "Yes",
                    "spot_number": "C1",
                    "spot_size": "Medium",
                    "user_id": 4
                },
                {
                    "airport_parking_id": 3,
                    "id": 6,
                    "is_reserved": "Yes",
                    "spot_number": "C2",
                    "spot_size": "Small",
                    "user_id": 1
                }
            ]
        },
        {
            "id": 4,
            "parking_name": "South",
            "parking_spots": [
                {
                    "airport_parking_id": 4,
                    "id": 7,
                    "is_reserved": "Yes",
                    "spot_number": "D1",
                    "spot_size": "Large",
                    "user_id": 2
                },
                {
                    "airport_parking_id": 4,
                    "id": 8,
                    "is_reserved": "Yes",
                    "spot_number": "D2",
                    "spot_size": "Medium",
                    "user_id": 3
                }
            ]
        }
    ]
}

Add a parking spot to an airport area

{
    "airport_parking_id":"1",
    "spot_number":"N92",
    "spot_size":"Small",
    "is_reserved":"No"
}

Get a parking spot by ID

{
    "airport_parking_id": 4,
    "id": 8,
    "is_reserved": "Yes",
    "spot_number": "D2",
    "spot_size": "Medium",
    "user_id": 3
}

Update parking spot

{
    "airport_parking_id":"1",
    "spot_number":"N111",
    "spot_size":"Large",
    "is_reserved":"No"
}
{
    "plane_image":"https://skyhighimages.s3.us-west-1.amazonaws.com/skyhighops_images/Screenshot+2024-05-02+at+12.43.03%E2%80%AFPM.png",
    "tail_number":"N123GS",
    "manufacturer":"Beechcraft Bonanza",
    "model":"V-tailed Bonanza",
    "max_takeoff_weight":"3,805",
    "seating_capacity":"4",
    "operation_status":"Maintenance",
    "fuel_type":"100ll AvGas",
    "active_owners":"2",
    "notes":"2nd owner flies in the AM",
    "last_time_fueled":"2024-04-20"
}
##

### Get an aircraft by id 

* Method: GET

* URL:/api/aircrafts/:aircraftId

```json
{
    "active_owners": "1",
    "fuel_type": "Jet A",
    "id": 4,
    "last_time_fueled": "2024-06-28 01:29:15.947058+00:00",
    "manufacturer": "Gulfstream",
    "max_takeoff_weight": "99000",
    "model": "G650",
    "notes": "No longer in service.",
    "operation_status": "Decommissioned",
    "parking_spot_id": null,
    "plane_image": "https://skyhighimages.s3.us-west-1.amazonaws.com/skyhighops_images/Screenshot+2024-05-02+at+12.47.51%E2%80%AFPM.png",
    "seating_capacity": "18",
    "tail_number": "D4-98765",
    "user_id": 4
}

Update an aircraft

{
    "active_owners": "1",
    "fuel_type": "Jet A",
    "id": 4,
    "last_time_fueled": "2024-06-28 01:29:15.947058+00:00",
    "manufacturer": "Gulfstream",
    "max_takeoff_weight": "99000",
    "model": "G650",
    "notes": "No longer in service.",
    "operation_status": "Decommissioned",
    "parking_spot_id": null,
    "plane_image": "https://skyhighimages.s3.us-west-1.amazonaws.com/skyhighops_images/Screenshot+2024-05-02+at+12.47.51%E2%80%AFPM.png",
    "seating_capacity": "18",
    "tail_number": "N4-98765",
    "user_id": 4
}

Get all aircrafts

{
    "aircrafts": [
        {
            "active_owners": "3",
            "fuel_type": "Jet A",
            "id": 1,
            "last_time_fueled": "2024-06-28 01:29:15.947043+00:00",
            "manufacturer": "Boeing",
            "max_takeoff_weight": "80000",
            "model": "737",
            "notes": "Recently serviced and ready for flight.",
            "operation_status": "Operational",
            "parking_spot_id": 11,
            "plane_image": "https://skyhighimages.s3.us-west-1.amazonaws.com/skyhighops_images/Screenshot+2024-05-02+at+12.43.03%E2%80%AFPM.png",
            "seating_capacity": "180",
            "tail_number": "A1-12345",
            "user_id": 1
        },
        {
            "active_owners": "2",
            "fuel_type": "100ll AvGas",
            "id": 2,
            "last_time_fueled": "2024-06-28 01:29:15.947048+00:00",
            "manufacturer": "Airbus",
            "max_takeoff_weight": "75000",
            "model": "A320",
            "notes": "Undergoing routine maintenance.",
            "operation_status": "Maintenance",
            "parking_spot_id": null,
            "plane_image": "https://skyhighimages.s3.us-west-1.amazonaws.com/skyhighops_images/Screenshot+2024-04-25+at+7.07.18%E2%80%AFPM.png",
            "seating_capacity": "160",
            "tail_number": "B2-67890",
            "user_id": 2
        },
        {
            "active_owners": "1",
            "fuel_type": "94 unleaded",
            "id": 3,
            "last_time_fueled": "2024-06-28 01:29:15.947056+00:00",
            "manufacturer": "Cessna",
            "max_takeoff_weight": "1100",
            "model": "172",
            "notes": "Used for training flights.",
            "operation_status": "Operational",
            "parking_spot_id": null,
            "plane_image": "https://skyhighimages.s3.us-west-1.amazonaws.com/skyhighops_images/Screenshot+2024-05-02+at+12.42.40%E2%80%AFPM.png",
            "seating_capacity": "4",
            "tail_number": "C3-54321",
            "user_id": 3
        },
        {
            "active_owners": "1",
            "fuel_type": "Jet A",
            "id": 4,
            "last_time_fueled": "2024-06-28 01:29:15.947058+00:00",
            "manufacturer": "Gulfstream",
            "max_takeoff_weight": "99000",
            "model": "G650",
            "notes": "No longer in service.",
            "operation_status": "Decommissioned",
            "parking_spot_id": null,
            "plane_image": "https://skyhighimages.s3.us-west-1.amazonaws.com/skyhighops_images/Screenshot+2024-05-02+at+12.47.51%E2%80%AFPM.png",
            "seating_capacity": "18",
            "tail_number": "N4-98765",
            "user_id": 4
        },
        {
            "active_owners": "2",
            "fuel_type": "100ll AvGas",
            "id": 5,
            "last_time_fueled": "2024-06-28 01:29:15.947063+00:00",
            "manufacturer": "Bombardier",
            "max_takeoff_weight": "67000",
            "model": "CRJ700",
            "notes": "Used for regional flights.",
            "operation_status": "Operational",
            "parking_spot_id": 5,
            "plane_image": "https://skyhighimages.s3.us-west-1.amazonaws.com/skyhighops_images/Screenshot+2024-05-02+at+12.51.59%E2%80%AFPM.png",
            "seating_capacity": "78",
            "tail_number": "E5-11223",
            "user_id": 1
        },
        {
            "active_owners": "1",
            "fuel_type": "94 unleaded",
            "id": 6,
            "last_time_fueled": "2024-06-28 01:29:15.947064+00:00",
            "manufacturer": "Embraer",
            "max_takeoff_weight": "57000",
            "model": "E190",
            "notes": "Currently on standby.",
            "operation_status": "Operational",
            "parking_spot_id": 6,
            "plane_image": "https://skyhighimages.s3.us-west-1.amazonaws.com/skyhighops_images/Screenshot+2024-05-06+at+4.55.06%E2%80%AFPM.png",
            "seating_capacity": "100",
            "tail_number": "F6-33445",
            "user_id": 2
        },
        {
            "active_owners": "3",
            "fuel_type": "Jet A",
            "id": 7,
            "last_time_fueled": "2024-06-28 01:29:15.947065+00:00",
            "manufacturer": "Dassault",
            "max_takeoff_weight": "70000",
            "model": "Falcon 7X",
            "notes": "Scheduled for avionics upgrade.",
            "operation_status": "Maintenance",
            "parking_spot_id": null,
            "plane_image": "https://skyhighimages.s3.us-west-1.amazonaws.com/skyhighops_images/Screenshot+2024-05-02+at+12.43.03%E2%80%AFPM.png",
            "seating_capacity": "14",
            "tail_number": "G7-55667",
            "user_id": 3
        },
        {
            "active_owners": "1",
            "fuel_type": "100 unleaded",
            "id": 8,
            "last_time_fueled": "2024-06-28 01:29:15.947066+00:00",
            "manufacturer": "Piper",
            "max_takeoff_weight": "2400",
            "model": "PA-28",
            "notes": "Perfect condition for private use.",
            "operation_status": "Operational",
            "parking_spot_id": 8,
            "plane_image": "https://skyhighimages.s3.us-west-1.amazonaws.com/skyhighops_images/Screenshot+2024-04-25+at+7.07.18%E2%80%AFPM.png",
            "seating_capacity": "4",
            "tail_number": "H8-77889",
            "user_id": 4
        },
        {
            "active_owners": "2",
            "fuel_type": "Jet A",
            "id": 9,
            "last_time_fueled": "2024-06-16",
            "manufacturer": "Beechcraft",
            "max_takeoff_weight": "15000",
            "model": "King Air 350",
            "notes": "Ideal for business travel.",
            "operation_status": "Operational",
            "parking_spot_id": 9,
            "plane_image": "https://skyhighimages.s3.us-west-1.amazonaws.com/skyhighops_images/Screenshot+2024-05-02+at+12.42.40%E2%80%AFPM.png",
            "seating_capacity": "11",
            "tail_number": "I9-99001",
            "user_id": 1
        },
        {
            "active_owners": "1",
            "fuel_type": "100ll AvGas",
            "id": 10,
            "last_time_fueled": "2024-06-28 01:29:15.947067+00:00",
            "manufacturer": "Mooney",
            "max_takeoff_weight": "3000",
            "model": "M20",
            "notes": "Recently overhauled engine.",
            "operation_status": "Operational",
            "parking_spot_id": null,
            "plane_image": "https://skyhighimages.s3.us-west-1.amazonaws.com/skyhighops_images/Screenshot+2024-05-02+at+12.47.51%E2%80%AFPM.png",
            "seating_capacity": "4",
            "tail_number": "J0-12312",
            "user_id": 2
        }
    ]
}

Delete Aircraft

{
    "message": "Successfully deleted aircraft"
}

Add an owner to the aircraft

{
    "firstname":"Raul",
    "lastname":"Moe",
    "username":"rm1234",
    "email":"rm@gmail.com",
    "address":"123 st blvd",
    "phone_number":"123-456-7890",
    "payment_type":"Debit Card",
    "notes":"Howdy yall"
}

Display owners that correspond to a certain aircraft

{
    "owners": [
        {
            "address": "456 Elm St",
            "aircraft_id": 2,
            "created_by_user_id": 2,
            "email": "janesmith@example.com",
            "firstname": "Jane",
            "id": 2,
            "lastname": "Smith",
            "notes": "Frequent flyer",
            "payment_type": "PayPal",
            "phone_number": "2345678901",
            "username": "janesmith"
        },
        {
            "address": "123 st blvd",
            "aircraft_id": 2,
            "created_by_user_id": 4,
            "email": "rm@gmail.com",
            "firstname": "Raul",
            "id": 10,
            "lastname": "Moe",
            "notes": "Howdy yall",
            "payment_type": "Debit Card",
            "phone_number": "123-456-7890",
            "username": "rm1234"
        }
    ]
}

Update an owner

{
    "firstname":"Raul",
    "lastname":"Moe",
    "username":"rm1234",
    "email":"rm@gmail.com",
    "address":"123 st blvd",
    "phone_number":"123-456-7890",
    "payment_type":"Debit Card",
    "notes":"Howdy yall"
}

Delete Owner

{
    "message": "Successfully deleted aircraft"
}