---
# System prepended metadata

title: Early access stock status critical path

---

# 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.