If you are using GitPod for the project exercise (i.e. you cannot use your local machine) then you'll want to launch a VM using the following link. Note this VM comes pre-setup with Python & Poetry pre-installed.
The project uses poetry for Python to create an isolated environment and manage package dependencies. To prepare your system, ensure you have an official distribution of Python version 3.7+ and install Poetry using one of the following commands (as instructed by the poetry documentation):
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python -
(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py -UseBasicParsing).Content | python -
The project uses a virtual environment to isolate package dependencies. To create the virtual environment and install required packages, run the following from your preferred shell:
$ poetry install
You'll also need to clone a new .env
file from the .env.template
to store local configuration options. This is a one-time operation on first setup:
$ cp .env.template .env # (first time only)
The .env
file is used by flask to set environment variables when running flask run
. This enables things like development mode (which also enables features like hot reloading when you make a file change). There's also a SECRET_KEY variable which is used to encrypt the flask session cookie.
In order to gain access to the Trello board, the .env
file must also contain TRELLO_KEY
and TRELLO_TOKEN
variables which specify the API key and the API token respectivelly to be used for the Trello board in use.
Once the all dependencies have been installed, start the Flask app in development mode within the Poetry environment by running:
$ poetry run flask run
You should see output similar to the following:
* Serving Flask app "app" (lazy loading)
* Environment: development
* Debug mode: on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with fsevents reloader
* Debugger is active!
* Debugger PIN: 226-556-590
Now visit http://localhost:5000/
in your web browser to view the app.
The test suite is developed using pytest
. Make sure dev dependencies are installed when initializing Poetry.
Simplest method of running tests is through VS Code, by using the Test explorer UI
estension. Alternatively, tests can be run from the command line:
$ poetry run pytest
- Create folder
opt
in the home directory - Create folder
todoapp
in theopt
folder - Install
git
usingsudo yum install git
- Clone the app repository in
~/opt/todoapp/
- Checkout branch
Exercise-4
withgit checkout Exercise-4
- Run the ansible playbook by using
ansible-playbook playbook -i ansible_inv