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

Alarm bez bazy danych

0 głosów
62 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 (228,900 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ź 331 wizyt
0 głosów
0 odpowiedzi 83 wizyt
pytanie zadane 14 lutego 2019 w JavaScript przez Grzegorz Mikina Dyskutant (7,630 p.)
0 głosów
0 odpowiedzi 63 wizyt

87,940 zapytań

136,519 odpowiedzi

304,383 komentarzy

58,306 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...