In order for this project's dependencies to install, you'll need PostgreSQL running on your computer.
Install it by opening your terminal, and pasting the following command:
brew install postgresql
Clone this repository to your computer.
Take a look at the code - it looks a bit different than what you're used to. Namely, the code is now separated out into several files rather than being written in a single app.py
file. Since we're now writing model and form code as well as route code, this will help us to maintain some structure and separation.
To run the code, navigate to the project folder and run the following to create a virtual environment and install the required packages:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Then, copy the .env.example
file to .env
:
cp .env.example .env
Then you can run the following to run the Flask server:
python app.py
To run all of the tests, you can run the following from the root project directory:
python -m unittest discover
(Make sure you have unittest installed.)
To run all tests from a single file, run the following:
python -m unittest books_app.main.tests
To run one specific test, you can run the following:
python -m unittest books_app.main.tests.MainTests.test_homepage_logged_in
Navigate to books_app/main/tests.py
and books_app/auth/tests.py
, and complete the TODOs to finish all tests. Make sure you run the tests as you go along to ensure that they still pass!
If you'd like more resources on working with Flask-WTForms, check out the following: