/up-flightfinder

University of Patras Flight Finder

Primary LanguageCSSMIT LicenseMIT

FlightFinder

FlightFinder is a flask app that provides users register, log in, search, book and manage booked flights easily.

Requirements

  • Have at least Python 3.7.x installed.
    • NOTE: if installing on windows, tick Add Python to PATH
  • Have MySQL and phpMyAdmin installed.
    • For Windows/Linux: install XAMPP
    • For MacOS: install MAMP

Project Setup

  • Clone the repo or download as zip.
  • Navigate to the folder where you cloned/extracted the repo.
  • Run python generate_dotenv.py without any arguments to generate the default .env file. Accepted arguments:
    • --debug: whether to run flask app in debug mode. Defualt: disabled.
    • --database-user: database username. Default: root.
    • --database-password: database password. Default: '' or root.
    • --database-host: database host location. Default: localhost.
    • --use-mailgun: use mailgun service to send emails. Default: disabled.
      • --mailgun-api-key: mailgun generated api key.
      • --mailgun-base-url: mailgun base url server. Default: US.
      • --mailgun-api-domain: mailgun api assigned domain.
      • --mailgun-sender-email: mailgun sender email.
  • Create a virtual environment using python -m venv venv command.
  • Activate virtual environment.
    • On Windows: venv\Scripts\activate
    • On MacOS/Linux: source venv/bin/activate
  • Run pip install -r requirements.txt to install the dependencies.
  • Navigate to ./app/utilities and run python generate_db.py without any arguments to create, initialize and fill the database. Accepted arguments:
    • --create-db: creates the empty database if not exists.
    • --init-db: initializes/resets database with the default values.
    • --generate-flights: generates flights for one month.

Running App

  • Run python app.py
  • Navigate to http://127.0.0.1:5000 and you are done.

Technologies Used

Authors

  • Neoptolemos Kyriakou
  • Aggelos Pournaras

Credits

  • Daemonite for the material boostrap frontend framework.
  • Fezvrasta for the snackbar functionality.
  • Mateuszmarkowski for the seat map functionality.
  • Djibe for the extra functionality of some of the components of material.
  • Rajendra for the logo icon.
  • UnDraw for the used illustrations.

LICENSE

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