Aplikacja webowa do zbierania danych

Aplikacja webowa do zbierania danych
CG
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 3 lata
  • Postów:76
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! ;)

edytowany 1x, ostatnio: CzakuGim
cmd
  • Rejestracja:około 10 lat
  • Ostatnio:2 dni
  • Lokalizacja:Warszawa
  • Postów:443
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.

edytowany 2x, ostatnio: cmd
hzmzp
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 8 godzin
  • Postów:632
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ś.

edytowany 1x, ostatnio: hzmzp

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.