Skip to content

aqd14/online-airlines-reservation

 
 

Repository files navigation

delter-airlines-reservation

Implement prototype for online flight reservations website with RESTful APIs

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

  • Python 3.6
  • Postgresql 10.0
  • Install docker (No need to install Python or Postgresql)

Can run without docker installed but highly recommend to make thing easer.

Installing

A step by step series of examples that tell you have to get a development env running

Say what the step will be

  1. Clone project at with git clone.
    git clone https://github.com/henryjr1/DelterAirlinesTeam3.git
  1. Create .env file at the root of project

-- No spaces around equal signs, no single quotes

    POSTGRES_USER=your-postgres-user
    POSTGRES_PASSWORD=your-password
    POSTGRES_DB=your-db
  1. Update corresponding information in configuration file at web/instance/flask.cfg
    POSTGRES_USER = 'your-postgres-user'
    POSTGRES_PASSWORD = 'your-password'
    POSTGRES_DB = 'your-db'
    HOST = 'database'  # This should not change. This is a service in docker-compose.yaml

Deployment

docker-compose build  ---  build the image
docker-compose up -d  ---  run the container on background and build image if necessary

Now open your browser and try the url http://localhost:5000/api/v1.0/flights. It should return something like this

{
    "flights": [
        {
            "id": 1,
            "fromLocation": "GTR",
            "toLocation": "Atlanta",
            "plane_id": 1,
            "plane": {
                "id": 1,
                "model": "Boeing 747",
                "capacity": 56,
                "flight_number": "BOEING_123"
            },
            "startDate": "2017-12-24T06:30:00+00:00",
            "endDate": "2017-01-20T11:40:00+00:00"
        },
        {
            "id": 2,
            "fromLocation": "Chicago",
            "toLocation": "New York",
            "plane_id": 2,
            "plane": {
                "id": 2,
                "model": "Airbus 322",
                "capacity": 74,
                "flight_number": "AIRBUS_435"
            },
            "startDate": "2017-11-27T02:20:00+00:00",
            "endDate": "2017-12-20T15:40:00+00:00"
        },
        {
            "id": 3,
            "fromLocation": "LAX",
            "toLocation": "Philadelphia",
            "plane_id": 3,
            "plane": {
                "id": 3,
                "model": "SpaceX 543",
                "capacity": 32,
                "flight_number": "SPACEX_653"
            },
            "startDate": "2017-12-18T04:40:00+00:00",
            "endDate": "2017-12-27T19:30:00+00:00"
        }
    ]
}

APIs

Find the list of APIs at Swagger.

Built With

  • Flask - Python web development microframework
  • Flask-Restful - adds support for quickly building REST APIs
  • Jinga2 - templating engine
  • SQLAlchemy - ORM (Object Relational Mapper), mapping python objects to tables in database
  • Flask-Migrate - database migrations
  • Flask-WTF - simplifies forms

Authors

  • Anh Do - aqd14
  • Will Nobles
  • Will Lee
  • Dalton Weeb
  • Patrick Bourdeaux

License

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

Acknowledgments

N/A

About

Implementation of Online Airline Reservation service with Restful API and hosted on Google Cloud Platform

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 43.8%
  • Python 36.4%
  • HTML 17.5%
  • CSS 1.7%
  • Shell 0.6%