Skip to content

Assignment 1: High level End to End Flow

RamyaRam2092 edited this page Jan 25, 2022 · 2 revisions

What is Registry here ?

	- Registry is  database where the log details are maintained
	- For every user session we maintain a unique record 
	- Every requests and response to every services in the system (UI, API gateway and the microservices) during every session is recorded
	- The registry is the only one that interacts  with  the UI through the API gateway and sends the status and output through API

End to end Flow :

1. First Step : User interaction with the UI

-User inputs Date 
-User inputs the Time
-User inputs NEXRAD station name 
-User Clicks a button  "Diagnose current atmospheric Conditions" that triggers  API request to "API Gateway"

Take away: UI has two screens namely:

      - one for login using SSO.
      - A page with 4 UI components ; Output can be displayed in the same page or a new page altogether( its a design decision)
      - The API request from UI happen only once which is during this phase . After this no API request is made from UI

2. Second Step: API call to the Data Ingester from API Gateway

- Data Ingestor Receives the User input and verifies if its right and return an acknowledgment ( ack to api gateway or updating registry record with ack ? not sure)
- Updates the registry with session details ,when was the request made , success or not and updates a Data File URL in one of the columns 
- Does an API call to Storm Detection once it is done 
- Registry will make API call to UI to show status to the user

3. Third Step : Storm Detection

- Goes and check for the "Data File URL" column in the Registry . 
- Actual functionality of this microservice is to Detect 3D storm characterized by the reflectivity over a given threshold 
- For this assignment we have to mock the data and output dummy kml
- Once it is done, updates registry with required details and then makes api call to Storm Clustering
- Registry will make API call to UI to show status to the user

4. Fourth Step: Storm Clustering

- Based on the 3d storm detected this functionality is supposed to group them into spatial clusters using Density based Algorithm 
- For this assignment we need to mock the application and return Dummy clusters 
- Once it is done ,updates registry with required details and then makes api call to Forecast Trigger
-Registry will make API call to UI to show status to the user

5. Fifth Step: Forecast Trigger

-Decide whether to run forecast or not 
- For this assignment we mock the decision( as in decide beforehand) 
-Didn't quite understand the output 
-Once it is done ,updates registry with required details and then makes api call to Run  Weather Forecast 
-Registry will make API call to UI to show status to the user

6. sixth Step: un Weather Forecast

- return dummy forecast outputs
- Update registry with output

7. Seventh Step : Display output in UI

Registry will make API call to UI for showing the output
Clone this wiki locally