Aplikacja webowa do zbierania danych

0

Cześć!
Mam pytanie czysto koncepcyjne, dotyczące struktury pewnej aplikacji.

Zbudowałem w Django backend używając DRF.
Z backend'em łączy się odizolowany frontend napisany w React.
Czyli mam bazę danych, w niej zapisane jakieś dane, które mogę odbierać i wyświetlać na określonej stronie www.
Teraz kwestia skąd te dane pobieram.
No to powiedzmy, że mam 10 czujników. Każdy z tych czujników posiada rejestr z danymi. Niech to będzie np 10 rejestrów. Zakładam, że nie mam możliwości wchodzenia w sposób prezentacji danych w czujnikach. Na zapytanie o dane otrzymuję po prostu 10 rejestrów.
Teraz chcę pobierać takie dane, parsować je i wysyłać do bazy danych.
Czy powinienem zbudować oddzielną aplikację, swego rodzaju pośrednik między backendem a czujnikami?
Tzn "pośrednik" wysyła cyklicznie (np co 1 sek) requesta do czujnika (powiedzmy że jak na razie jednego) ten odpowiada wysyłając określony ciąg danych. Dane są przerabiane na format json w pośredniku (i przygotowane do wysłania), po czym wysyłane do bazy danych jako post request (każdy z czujników ma swój unikalny ID)

Czy taka struktura jest ok?
W jaki inny sposób realizuje się tego typu aplikacje?

Kwestia, że uczę się różnych rozwiązań i chciałbym bardziej wiedzieć jak zrobić coś takiego zgodnie ze standardami, tak żeby ewentualnie w przyszłości wykorzystać podobną strukturę w bardziej zaawansowanych aplikacjach. A nie skupiać się na czymś co "działa" a jest na dobrą sprawę niezłym kasztanem :D

Pozdrawiam serdecznie! ;)

1

Dobrze kombinujesz. Jeśli czujnik nie ma bezpośrednio możliwości wysyłania restowo danych do backendu, to też dorzucił bym dodatkowy serwis odpowiedzialny za odpytanie czujnika i serializacje danych do jsona i komunikacje z api. Tu jest już kwestia architektury systemu a nie jakiegoś przyjętego standardu. Wydzielajac taki pośredni serwis dla czujników będziesz mógł go raczej bez przeszkód dalej rozbudowywać w tym zakresie, albo podpinać pod wiele różnych API w razie koniecznosci.

2

Z doświadczenia powiem że lepiej jest napisać osobną aplikację, która będzie przesyłała przetworzone i ustandaryzowane dane do backendu za pomocą api. Czyli tak jak zaproponowałeś.

1 użytkowników online, w tym zalogowanych: 0, gości: 1