Order Portal-Pipeline

The Interface of Pipeline

There are two pipelines used for online food ordering retail applications.

Order Producer Pipeline

Order Producer Workflow

In the first part of the workflow, this order producer pipeline generates data every minute.

  • The First Python component generates POS orders with an interval of every minute.

  • This data is sent to the next mapped event.

Order Processing Pipeline

First Part of the Workflow

  • In the first part of the workflow order from the mobile dashboard get ingested through API ingestion & further processed.

  • The first component is the API ingestion component which gets orders from the mobile order dashboard API ingestion. Then this data is sent to the next event which is mapped without the event of the order producer POS pipeline.

    • In the first flow data is sent to the web-socket component which is used in the kitchen dashboard.

    • In the second flow, the data prep component is used for data transformation.

      • The next component is the python script which is used for data enrichment.

      • From this, the data is sent to the next event which is further processed in three different flows.

        • In the first flow order splitter component is used which split order based on order type & process online orders only to the next out event. Further, the Python script component used an ML-based recommendation model which sends recommendation data to the web socket & this web socket is utilized in the mobile order dashboard to show recommendations.

        • In the second flow, the Python Script component used an ML algorithm to generate coupons based on the customer & this data is stored in a Mongo collection [op_coupon_campaign]. Further, the Python component sends this coupon to the customer via an email. Below given is the email format:

        • In the third flow, this enriched data is stored in the Mongo collection using the PyMongo writer [op_customer_raw].

Second Flow

In the second flow, the data from the kitchen dashboard is processed.

  • With the API ingestion component it takes data from the kitchen dashboard & this data is then sent to another web socket & also written to a mongo collection using the Pymongo writer. [op_order_details].

  • This web socket is used in the delivery agent dashboard.

Third Flow

In the third flow, data from the delivery agent dashboard is processed.

  • With the API ingestion component, it takes data from the delivery agent dashboard & this data is then further stored in two different MongoDB collections using the PyMongo writer [op_customer_raw].

  • The first collection stores order details.

  • The second collection is used to update the drop-off status

Components Used

  • API Ingestion Component: This component is used to ingest the data from API requests to our event.

  • Web Socket Producer Normal: This component will send the data to the Web socket client.

  • Data Prep Component: This component is used for data transformation.

  • Order Splitter Component: This component is used for splitting the data based on some conditions, here used to split the order based on order type & process further online orders only.

  • PyMongo Writer component: This component is used to write data in the MongoDB collection.

Last updated