A heavily opinionated Falcon boilerplate.
- Postgres with SQLAlchemy and Psycopg2
- UWSGI used to run Falcon
- Marshmallow for request and schema serialization
- Nginx to serve Falcon
- Alembic for database migrations
- CircleCI to run tests
- Clone this repo
- Open up your terminal/powershell and navigate to the project folder.
- Run Docker Compose to start the VM
docker-compose up -d
- Go to
http://localhost
!
While Docker is running, you can install all the dependencies with pipenv install --dev
and
any changes you make should automatically be reflected on localhost
.
Some sample tests have been written in PyTest, running them is as simple as typing pytest
in the
directory. This will go through the repository and search for any files starting with test
, which
are located in the tests folders.
Alembic is a lightweight database migration tool for usage with the SQLAlchemy Database Toolkit for Python.
The main Falcon application
The start of the API service
Functions that are called before and after each of the resources.
All of your endpoints and how you deal with API requests go here