/flask_api_example

A demonstration of best practices for a large Flask API project

Primary LanguagePython

Example of a scalable Flask API

The site

A sample project showing how to build a scalable, maintainable, modular Flask API with a heavy emphasis on testing.

This is an example project using the structure proposed in this blog post.

Running the app

Preferably, first create a virtualenv and activate it, perhaps with the following command:

virtualenv -p python3 venv
source venv/bin/activate

Next, run

pip install -r requirements.txt

to get the dependencies.

Next, initialize the database

python manage.py seed_db

Type "Y" to accept the message (which is just there to prevent you accidentally deleting things -- it's just a local SQLite database)

Finally run the app with

python wsgi.py

Navigate to the posted URL in your terminal to be greeted with Swagger, where you can test out the API.

Running tests

To run the test suite, simply pip install it and run from the root directory like so

pip install pytest
pytest