FlightFinder is a flask app that provides users register, log in, search, book and manage booked flights easily.
- Have at least Python 3.7.x installed.
- NOTE: if installing on windows, tick
Add Python to PATH
- NOTE: if installing on windows, tick
- Have MySQL and phpMyAdmin installed.
- 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
- On Windows:
- Run
pip install -r requirements.txt
to install the dependencies. - Navigate to
./app/utilities
and runpython 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.
- Run
python app.py
- Navigate to
http://127.0.0.1:5000
and you are done.
- Flask - Python web framework used
- MySQL - Relational database management system used.
- WAMP/MAMP/LAMP Bundle - Apache, MySQL, PHP softwares used.
- Neoptolemos Kyriakou
- Aggelos Pournaras
- 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.
- This project is licensed under the MIT License - see the LICENSE file for details.