amosproj / amos2024ss01-xcelerator-demo-app

a student project in cooperation with Siemens for a Demo Web Application around water tank management
MIT License
6 stars 0 forks source link

Q&A - 30. April 2024 #27

Open sn0wcat opened 2 weeks ago

sn0wcat commented 2 weeks ago

Will we be provided with a UI design, or should we design the app ourselves?

You will design the app yourselves using components from ix.siemens.io. This means that generic layout components like Frame Application, colors, button controls etc. are given by the framework, but you are free to move in those boundaries.

Here is an example:

Starting point

image

Could you resend the links to the APIs? Some of them are no longer functional.

Let's start with only one API first. The timeseries API which will have the Pump IoT data:

The documentation is available here:

https://developer.siemens.com/insights-hub/docs/apis/iot-iottimeseries/api-iottimeseries-api.html

The API to retrieve the timeseries data looks like this:

image

You need two parameters (entityid and propertySetName) to call that API. They can be programmatically retrieved from Asset Management API, but you can just look them up in the UI:

image

An example working pump PUMP_010 has entityid 41d3a3ca84694099a3f74975df46619f and two propertySets Environment and PumpData.

An Example call like this:

https://castidev-operationsinsight.eu1.mindsphere.io/api/iottimeseries/v3/timeseries/95940719ab23436abce095fc03357c16/PumpData?sort=desc&limit=2000&from=2024-05-01T22:00:00.000Z&to=2024-05-02T22:00:00.000Z&select=Flow,MotorCurrent,PressureIn,PressureOut,StuffingBoxTemperature

retrieves the pump data:

[
    {
        "MotorCurrent": 49.0,
        "PressureOut": 2.98391,
        "StuffingBoxTemperature": 25.0,
        "PressureIn": 1.0,
        "_time": "2024-05-02T01:58:51.478Z",
        "Flow": 245.29
    },
    {
        "MotorCurrent": 51.0,
        "PressureOut": 3.02011,
        "StuffingBoxTemperature": 25.0,
        "PressureIn": 1.0,
        "_time": "2024-05-02T01:58:41.477Z",
        "Flow": 241.018
    },
....

You can create a simple NestJS Mock API which just has the GET Method with two parameters (entityid and propertyset) and which returns the data from issue #6 so that the frontend can use it. The method can return either the broken pump data (PUMP_002, or working pump data PUMP_010) using some kind of algorithm, e.g. if the sum of all ascii values in the entityid is even, return broken pump otherwise return working pump) - just replace the timestamps from the JSON file with current timestamps and you will have a perfect Mocking server. (This is what I meant with 'every API should be mocked` - the application should work also stand alone without the connection to insights hub)

Can we use Tailwind and NestJS?

Yes, of course. If the question was about if Tailwind and iX work together, see here

When and how can we reach you to set up calls/reviews?

You can @sn0wcat here in the issues, otherwise per email. Just make sure that I have an invitation for a meeting in my calendar I am not really good with remembering things - I also have a lot of meetings ;)

What exactly do you mean by "each API can be replaced with a Mocked Version"?

See above. We will start the project by using simulated data and fake (mocked) local APIs to reduce complexity of calling APIs of Products like Insights Hub.

Can we use a Mono Repo (Nxrepo)?

Yes - (and we already have it 😸)

How important are Angular translations?

We don't necessary need them :)

Should users be able to register/login?

They should be able to login. Preferably we should use an OIDC provider, like GitHub.

Where can we find the pump data on the Siemens Insights Hub?

In the Monitor application. Here are links to PUMP-002 and PUMP-010

PUMP-002 Insight Hub

PUMP-010 Insights Hub

sn0wcat commented 2 weeks ago

@lamara11 @shahraz1998

lamara11 commented 2 weeks ago

@sn0wcat thank you for all the clarifications! @Sabo2k @KonsumGandalf @Hydraneut @IngoSternberg @Persists @HaruspexSan @PatrickSchm1dt Please let us know in case you have any more questions.

sn0wcat commented 2 weeks ago

@lamara11 please add the user story for the user authentication with open id connect (OIDC)

lamara11 commented 1 week ago

@sn0wcat done!