Skip to content

darkn3rd/webmf-python-flask

Repository files navigation

Flask Web Microframework

Prerequisites

You need to have a functional Python 3 environment to run this project. I recommend pyenv and pyenv-virtualenv.

After you can download and install the python modules into a segregated virtualenv.

# install python and create virtualenv
## NOTE: pcre grep requires GNU grep, e.g. grep -oP
LATEST_PYTHON3=$(
 pyenv install --list | tr -d ' ' | grep -oP '^3\.*\d+\.\d+$' | sort -V | tail -1
)

pyenv install $LATEST_PYTHON3
pyenv virtualenv $LATEST_PYTHON3 webmf-python-flask
# change to virtualenv
cd .
# update pip module
pip install --upgrade pip

Running the Application

These instructions and scripts have been tested on macOS (aka Mac OS X) and Linux with Python installed.

Test using Python

# Install Required Packages
pip install -r requirements.txt
# Run Server
./app.py &
# Manually Test
curl -i localhost:5000/
curl -i localhost:5000/hello/Simon

Using Docker Compose

# Start containerized service on Docker
docker-compose up -d
# Determine Guest is native Docker, Docker-Machine or Docker-Desktop
[ -z ${DOCKER_MACHINE_NAME} ] || WEBSERVER=$(docker-machine ip ${DOCKER_MACHINE_NAME})
WEBSERVER=${WEBSERVER:-localhost}
# Manually Test
curl -i $WEBSERVER:5000/
curl -i $WEBSERVER:5000/hello/Simon

Using Docker on Vagrant/Virtualbox

# Start containerized service on Vagrant/Virtualbox guest
vagrant up
# Manually Test
curl -i localhost:5000/
curl -i localhost:5000/hello/Simon

Running Automated Tests

./test.py

Resources