# Early access stock status critical path ## Infrastructure * Critical Path March5 * Critical Path March19 * build out CICD pipelines (dev_branch=dev & master_branch=prod >> RGB deploys) * Nice To have ## DATA TO SQS * Critical Path March5 * DONE WMS-9690 finalize aws queue structure for processor >>> one queue, multiple workers grabbing from same queue * CloudFormation to build SQS * Nice To Have * WMS-9698 sync/audit process with wms to look for messages not received (Does WMS Match our system) * process to check if we got all the events we're supposed to * WMS-9703 smoke tests/monitoring for message/event integrity on production data (examples: timestamps, order status) (IS DATA COMMING IN OK) * WMS-9700 make system case insensitive for topic and event_type (api_gw, processor, firehose) ## DATA TO S3 * Critical Path March5 * ERIK+Sergy: Are dumping all data and can retrieve and look at data (prefer Athena) * DONE-ERIK: WMS-9705 all data landing in s3-parquet (despite ':' in keys of links) * ERIK+Sergy: WMS-9706 ability to query s3-parquet with athena (for support & prelim research) * CloudFormation for Firehose * Nice-To-Have * WMS-9701 nightly process to batch small s3 files into single large one (for downstream consumption) ## DATA PROCESSOR * Critical Path March5 * CODY WMS-9688 update processing system for v3 event messages * WMS-9689 update aws infrastructure for v3 messages (api_GW, Kinesis Firehose, SQS, S3) * WMS-9691 after v3 events done, need to set wms_timestamp from the event.datetime where appropriate * ERIK: WMS-9692 create allocation logic for order, order_line, and item_allocation_calculation tables * CODY-DONE WMS-9731 now that API:/inventory/items/{id} exists: Update Order Ripple logic and updates for inventory_change (receiver_line has special ripple logic for 2 parents) * CODY WMS-9756 Finish tests for the API models. * WMS-9696 dockerize processor (sqs reader, api models, save to db) * Create events in qa BITeam tpl and see it flow all the way through * Critical Path March19 * WMS-9693 create code relationships between history tables * ability to process wms messages that come late (after another message for same thing) * productionize docker containers * WMS-9704 create data initialization scripts for key tables * Nice To Have * WMS-9694 create 'event audit' tables (event ledger, api req/resp, ripple breadcrumbs) * WMS-9707 optimize allocation calculations using triggers * create additional code relationships (and tests) RL>R, OL>O, AL>A * apply CASCADE DELETE at code level to all tables * `Use async patterns` like [FastAPI](https://fastapi.tiangolo.com/) and [databases](https://github.com/encode/databases) ## SECURITY AND AUTHENTICATION * Critical Path March19 * DONE JOHN stock status report api authentication ## REPORT BUILDER * Critical Path March5 * DONE JOHN WMS-9736 finish queries for report builder * DONE JOHN WMS-9699 create stock status report (query, api) * WMS-9697 dockerize report api (queries, flask rest api) * Nice To have * WMS-9695 optimize tables for needed queries/reads (add FK, relationship, and indexes as needed) * `Use async patterns` like [FastAPI](https://fastapi.tiangolo.com/) and [databases](https://github.com/encode/databases) ## WEB REPORT * does all the logic with saved reports actually work * how easily can users select/choose columns ## OUT OF SCOPE * WMS-9709 migrate OrderStatusDashboard to new Kinesis based system * order new monitor with chromecast for office.