• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Alarm bez bazy danych

VPS Starter Arubacloud
0 głosów
95 wizyt
pytanie zadane 4 stycznia 2020 w JavaScript przez saseta00 Użytkownik (700 p.)

Hej, robię w celach edukacyjnych/hobbistycznie stronę z kursami kryptowalut.
Mam pobrane dane .json przez api, przypisane do zmiennej i przez getelementbyid wysłane do tabeli w html.
Dane w api aktualizują się co 2 minuty, a na stronie po jej odświeżeniu. 

Chciałbym dodać panel z alarmem, jednakże nie wiem jak się za to dobrze zabrać i czy da się to zrobić bez bazy danych. Jest możliwość zrobienia np. tabeli do której będą się dodawać alarmy które osoba sobie ustawi? Np. ustawia alarm gdy bitcoin_price > 30000 wybierając z menu rozwijanego kryptowalute i wybierając znak mniejszości/równości/większości, tworzy się funkcja if która się tym zajmuje, a w htmlu dodaje się np. w tabeli rekord z danymi odnośnie alarmu? 

Nie oczekuje żeby to nadal istniało po odświeżeniu strony (choć fajnie by było) ale chociaż w otwartej zakładce, no i kolejny problem z tym że dane z api pobierane są tylko przy ładowaniu strony, więc żeby taki alarm działał, musiałyby się te dane w funkcji jakoś aktualizować tak? 

Proszę o jakieś wskazówki dla nowicjusza.

1 odpowiedź

+1 głos
odpowiedź 4 stycznia 2020 przez Tomek Sochacki Ekspert (227,510 p.)
wybrane 4 stycznia 2020 przez saseta00
 
Najlepsza
Źle podchodzisz do problemu... najpierw mówisz o ogólnych założeniach biznesowych, czyli aktualizacja co jakiś czas (np. 2 minuty), a za chwilę o precyzyjnej implementacji IF itp. Źle. Najpierw analiza biznesowa, dopiero potem analizy pod kątem implementacji, nigdy, ale to przenigdy nie łącz tych 2 rzeczy.

Ja proponuję zatem dać userowi jakieś pole, gdzie wpisze sobie np. co ile minut chce aktualizować dane (z min. na 2 minuty) i apka niech asynchronicznie po prostu strzela sobie na endpoint, z którego pobierasz te dane co określony czas. Następnie mamy jakieś wylistowane dane (np. kurs bitcoint itp.) z możliwością zaznaczenia tych, które mają w jakiś tam sposób usera poinformować o istotnych zmianach, czyli też user moze miec obok tego pole, np. do wpisania wartości, która ma aktywować alarm wraz z wyborem większe/mniejsze niż.

Teraz każdy update danych z API powoduje po prostu wywołanie funkcji której zadaniem jest pobranie konfiguracji tych alarmów i przeiterowanie po otrzymanych danych z porównaniem wartości. Jeśli dla jakieś alarm ma być aktywowany to zapisuje sobie tą informację i na samym końcu wyświetlamy ją jakoś zbiorczo userowi, np. w formie "słuchaj, Twoje kursy (tu lista) mają wartości na poziomie alarmującym i np. podać te wartości wraz z info, na jakiej był ustawiony alarm".

W takim podejściu najprostszym wydaje mi się, że mogłoby to być ok, w miarę proste do implementacji i z tego co piszesz rozwiąże problemy biznesowe. A ewentualne zapisywanie ustawień można zrobić np. z lokalnym storage usera jeśli nie chcesz bazy i back-endu (wchodząc w implementację to np. localStorage).
komentarz 4 stycznia 2020 przez saseta00 Użytkownik (700 p.)
dziękuje bardzo, bardzo cenne wskazówki.

Podobne pytania

+1 głos
1 odpowiedź 1,041 wizyt
0 głosów
0 odpowiedzi 116 wizyt
pytanie zadane 14 lutego 2019 w JavaScript przez Grzegorz Mikina Dyskutant (8,060 p.)
0 głosów
1 odpowiedź 259 wizyt

92,454 zapytań

141,262 odpowiedzi

319,099 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...