cityofaustin / atd-data-tech

Austin Transportation Data & Technology Services
17 stars 2 forks source link

[Feature] Data Tracker Work Order Integration #3669

Closed amenity closed 2 years ago

amenity commented 4 years ago

As a Moped user, I want to easily access my project's Data Tracker work orders so that I can

As a Data Tracker user...

In-scope:

Out-of-scope:

Additional notes: Goal is to avoid hitting the Knack API on Data Tracker's side too much; instead, we would only call the Knack Data Tracker API when a new project is added within Moped by an AMD user.

zappfyllc commented 4 years ago

ETL is currently being done via Airflow (spun up in a Docker container) for anything involving the Knack API.

@zappfyllc will diagram between Moped and Data Tracker as to proposed integration (technology agnostic).

amenity commented 3 years ago

@zappfyllc @johnclary — is this essentially a duplicate of #3974 ?

zappfyllc commented 3 years ago

@amenity @johnclary I propose we consider a feature labeled "Moped Knack Integration" (or something analogous) if we're still considering a future Moped scope involving #3670 (Signs and Markings), #4837 (Finance and Purchasing) and/or other Knack apps that could be built for various workgroups. The idea would be to build a service for handling the sending of newly entered and freshly completed (closed) Moped projects to the Knack API in an event-driven architecture. Rather than any sort of ongoing batching (ETL) or a one-time script written for the client application (Moped in this case) to do all the work, we could set up a service that is fault-tolerant so we rarely have issues with any kind of synchronization between other applications and Moped. This does also satisfy a future AMD Data Tracker integration because we'll have a "moped_project" object that is sourced from Moped and can be consistently related to other Knack objects in AMD Data Tracker to provide a point of integration.

This service may be able to be re-used for other non-Knack applications and integration points, but I think even a Knack-only service is probably good enough considering you have quite a few Knack developers and there may be workgroups who will benefit from some simple Knack apps that track some granular work we don't want to address in Moped.

See this Miro board for high-level view: https://miro.com/app/board/o9J_lZHCYd4=/

amenity commented 2 years ago

This was covered in #3974.