datakind / dk-routing

Container-based Action Routing Tool (CART)
MIT License
8 stars 11 forks source link

Refactor input and output data. #28

Closed jeshua closed 1 year ago

jeshua commented 2 years ago

Major refactor to create a data access layer between all inputs and outputs from the route optimization tool

Main changes:

  1. Introduces config_manager that loads all inputs
  2. Introduces intermediary data output objects that store unserialized output data
  3. Introduces output serialize and persistence methods to centralize all file persistence.
  4. Introduces file_manager to manage the names of all output files.
  5. Introduce a simple flask api to show how this change allows us to run the route optimization tool without writing files, capture the output, and serve that through an API. This API is just a stub for now.

What is left to do:

How was this tested?

What else needs to be tested?

  1. Manual edits mode with actual changes to the routes.
  2. Cloud client mode.