airavata-courses / CAPtivate

Experiments with distributed system design for Applied Distributed Systems course
0 stars 4 forks source link

Define flow/ use case for project 1 #2

Closed adithyaselv closed 4 years ago

adithyaselv commented 4 years ago

This issue is to basically document the different ideas discussed for project 1 and come up with consensus on big picture of the idea and flow.

shubhangis91 commented 4 years ago

Example #1 - A scientist logs in to the web portal, gets authenticated using the user management microservice, and is given the options to enter the date, time and NEXRAD station for the weather data needed. Using these inputs the data will be extracted by the Data Retrieval microservice and will be sent via the message bus to the Model Execution service to process it. The results would then be shown in graphical plots by the Post-Processing and Analysis service. All interactions among these microservices will be done by the MQs and the services themselves will be available through REST calls.

rakoduru commented 4 years ago

Idea #2 : Basic idea is to create a web application using weather data. I would suggest we can extend the use case to give more information on predicting the status of flights based on the weather data. For the simplicity of the project we can mock up the flight data and give the details of the flight schedule to the user based on PNR or final destination (It is predicted based on the weather data from NEXRAD). The user can log on to the web portal and can get the details of the weather, flight schedule and some analysis on either of them. User is authenticated using user management service and all the sessions of the user are maintained using a session management micro service. This session data can also be used in post processing and analysis where we can analyze how the flight schedules are varied based on the weather data. Post processing analysis can be done on weather data from NEXRAD to show the places affected by storm or tornado. The rest of the architecture of data retrieval, model execution and implementation of MQs is same as how @shubhangis91 mentioned in the above post. (Link : https://github.com/airavata-courses/CAPtivate/issues/2#issuecomment-578541610)

adithyaselv commented 4 years ago

@shubhangis91 @rasmitha-koduru Ideas sound great.

Idea 3 : I was thinking along the lines of developing an application for businesses where, the user would upload an input file with sales and customer data from the past and with this data we learn relation between sales/customer trends and weather using the NEXRAD or other weather data obtained from https://www.ncdc.noaa.gov/cdo-web/datasets and then predict the future business trend which would be shown to the user as a graph/csv.

This application will also involve all the parts as suggested in the sample architecture given in the course slide.

We can discussion the details of the architecture in a different issue .

PS: Let be careful when using #(number) since it is the way of referencing things in GitHub and can confuse us later on.

adithyaselv commented 4 years ago

We decide to create portal which will have different kind of applications as described above with user login and sessions.