Optimizing an urban meal delivery platform
Find a file
Alexander Hess a16c260543
Add database migrations
- 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
2020-08-11 10:29:58 +02:00
.github/workflows Enable CI with GitHub Actions 2020-08-05 15:38:28 +02:00
docs Add technical documentation for the package 2020-08-05 01:44:29 +02:00
migrations Add database migrations 2020-08-11 10:29:58 +02:00
src/urban_meal_delivery Add database migrations 2020-08-11 10:29:58 +02:00
tests Add database migrations 2020-08-11 10:29:58 +02:00
.gitignore Add a config object 2020-08-11 10:27:11 +02:00
.pre-commit-config.yaml Set up pre-commit hooks 2020-08-04 17:58:35 +02:00
alembic.ini Add database migrations 2020-08-11 10:29:58 +02:00
LICENSE.txt Initial commit 2020-08-03 20:19:42 +02:00
noxfile.py Add database migrations 2020-08-11 10:29:58 +02:00
poetry.lock Add database migrations 2020-08-11 10:29:58 +02:00
pyproject.toml Add database migrations 2020-08-11 10:29:58 +02:00
README.md Initial commit 2020-08-03 20:19:42 +02:00
setup.cfg Add database migrations 2020-08-11 10:29:58 +02:00

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.

Real-time Demand Forecasting

Predictive Routing

Shift & Capacity Planning