What is the best practice for the app to accept data through HTTP Requests and then store it in Pods?

Hello Everyone,

Firstly, I love being part of this community. I am new in this area and am learning a lot from here. I am exploring the SOLID Project for my Master’s Dissertation and have been building applications.

Currently, I am building an application that manages IoT devices and stores data of the devices securely using SOLID Pods. I have designed a basic application that can create devices in Pods, read data from there, and display it in the app.
Now I am trying to add a functionality which will allow my application to accept HTTP Requests from IoT devices (or Postman for testing). Using this, I will be able to get data from IoT devices and use it in creating new devices or updating existing data in Pods. Similarly, I want the app to send POST requests that are triggered by the changes in data in Pods (trying to look at the Inrupt’s Notifications library for that).

I am looking for your guidance on what is the best practice for adding the GET/POST Request functionality to the application. Should I use Axios or Express for this? Or is there something else that I should try?

Thank you very much! Looking forward to hearing from you :slight_smile:

Thanks,
Tanmay

I know we’ve designed a system like this, but I don’t think I can share any details, but overall I think you’re probably on the right track.

But, typically what you’ll want in IoT situations is to buffer all that data into a performant database for this type of data, keyed by device ID, then have a regular cron job that does an ETL, as the raw data alone is likely too much data for a user’s pod, so transforming it into something meaningful before storing persistently is a good idea.

So you’re never storing a device <-> user mapping, but storing separately users using your app (and their OIDC tokens, encrypted), and device data, and the two only combine when you run an ETL for a given user or device.

You can also use the Inrupt SDKs in node.js, and I’d recommend looking at Fastify over Express, as it’s more modern.

(Also, p.s., there’s a lot of women involved in Solid, so I wouldn’t necessarily suggest using “hey guys”)

Thank you very much, @ThisIsMissEm! That is great advice. I will look into this deeply and explore the option of using Fastify.