Optimizing an urban meal delivery platform
Alexander Hess
a16c260543
- use Alembic to migrate the PostgreSQL database + create initial migration script to set up the database, as an alternative to db.Base.metadata.create_all() + integrate Alembic into the test suite; the db_engine fixture now has two modes: * create the latest version of tables all at once * invoke `alembic upgrade head` => the "e2e" tests are all run twice, once in each mode; this ensures that the migration scripts re-create the same database schema as db.Base.metadata.create_all() would * in both modes, a temporary PostgreSQL schema is used to create the tables in => could now run "e2e" tests against production database and still have isolation - make the configuration module public (to be used by Alembic) - adjust linting rules for Alembic |
||
---|---|---|
.github/workflows | ||
docs | ||
migrations | ||
src/urban_meal_delivery | ||
tests | ||
.gitignore | ||
.pre-commit-config.yaml | ||
alembic.ini | ||
LICENSE.txt | ||
noxfile.py | ||
poetry.lock | ||
pyproject.toml | ||
README.md | ||
setup.cfg |
Urban Meal Delivery
This repository holds code analyzing the data of an undisclosed urban meal delivery platform operating in France from January 2016 to January 2017. The goal is to optimize the platform's delivery process involving independent couriers.
The analysis is structured into three aspects that iteratively build on each other.