Wpis z mikrobloga

Ostatnio natrafiłem na stronę #nfz, na której da się pobierać archiwa z danymi dotyczącymi kolejek i czasów oczekiwań na zabiegi dla każdej (chyba) placówki dla danego województwa - 16 osobnych Excelowych arkuszy kalkulacyjnych. Pomyślałem, że fajnie byłoby to jakoś wykorzystać. Jest tylko jeden haczyk - dane są aktualizowane raz w miesiącu. A przynajmniej tak obiecuje NFZ - dziś mamy 6 listopada, a paczki nadal są z 30 września, czyli nawet z tym nie jest kolorowo. Czy jest w ogóle sens wykorzystywać dane, które mają ponad miesiąc opóźnienia?

Okazuje się, że tak. Poprzeglądałem te pliki i doszedłem do wniosku, że to nie robi dużego znaczenia. Jest sporo placówek, do których czeka od kilkuset do nawet kilku tysięcy osób, co sprawia, że pierwszy wolny termin jest dopiero gdzieś między rokiem **2030 a 2040*.

Postanowiłem zaangażować w to znajomego, z którym ustaliliśmy, że wykorzystując te dane, zrobimy z tego projekt na tygodniowy hackathon, który w tym czasie trwał. Finalnie, zajęło nam to 3 lub 4 dni (ionic, patrzę na ciebie ȍ ̪ ő)

Robię backend, kumpel frontend, pamiętając o tym, że chcemy wykorzystać jak najwięcej technologii, w których nigdy nie pracowaliśmy. Z racji braku czasu pomysł nie wypalił, finalnie na backendzie siedzi Go i Mysql, w których na codzień pracuję.
Chcieliśmy zbudować progresywną appkę webową (PWA) dlatego wybór padł na Ionic 2. I to był błąd.

Dokumentacja jest średnia, ale istnieje, i nie powinniśmy wymagać od niej zbyt dużo.
Sam proces developmentu jest całkiem przyjemny,
ionic serve --lab_ też daje radę, więc można w miarę szybko budować aplikację korzystając z gotowych komponentów.

Schody zaczynają się gdy przychodzi czas na kompilację. Pod Ioiniciem siedzi Cordova, która jest odpowiedzialna za tworzenie aplikacji mobilnych na platformy, które wcześniej wybraliśmy. Debugowanie tego to robota dla sadomasochistów. Szczególnie, jeśli aplikacja kompiluje się poprawnie i nie wyrzuca żadnych błędów, a gołym okiem widać, że część funkcjonalności nie działa. Przez dwa dni próbowaliśmy rozwiązać problem, który sprawiał, że część danych z API nie była wyświetlana w View, pomimo tego, że były poprawnie przekazywane.
Winowajcą okazał się Angularowy pipe | date (sic!), który nie spodobał się Cordovie, pomimo tego, że w przeglądarce działał wyśmienicie. Do dzisiaj nie wiem czemu nie chciał działać, musiałem napisać custom pipe-a, który robi to samo. Ale przynajmniej się kompiluje.

Podsumowanie naszego doświadczenia z Ioniciem 2:
W miarę przyjemny development, dokumentacja średnia
Wydajność zauważalnie gorsza niż natywne aplikacje
Sporo nieznanych nikomu błędów, które będziecie musieli sami rozwiązać, Google nie pomoże
Ocena: 5/10. Ionic 2 jest zbyt niedojrzały, wywołuje masę frustracji przy debugowaniu, ale ma potencjał, który mam nadzieję, zostanie wykorzystany jak przejdzie jeszcze kilka iteracji.

Naszą aplikację nazwaliśmy Ściana Płaczu ( ͡° ͜ʖ ͡°), możecie zrobić obczajkę na stronie https://sciana.placzu.pl i jeśli spodobał wam się koncept, zagłosować na nas w hackathonie. Nie wiadomo co jest nagrodą, ale pewnie to jakiś router za 213.7 złotych + licencja na WinRara.

Głosuje się na stronie https://fb.apki.org/ (odznaczcie przekazywanie adresu email, nie ma co udostępniać za dużo) i wystarczy na https://fb.apki.org/detail.php?id=44 kliknąć "Głosuj!".

Za wszystkie głosy z góry pięknie dziękujemy. (͜ʖ◔)

Dla zainteresowanych repozytorium: https://github.com/maciekmm/hackheroes-entry
Dokumentacja API: https://github.com/maciekmm/hackheroes-entry/blob/master/backend/README.md

maciekmm_net - Ostatnio natrafiłem na stronę #nfz, na której da się pobierać archiwa ...

źródło: comment_AlzV6Eo1vYxnjagUngMqiCIdaZmOKKGe.jpg

Pobierz
  • 4
@maciekmm_net: Pobrałem, klikam, wygląda spoko. Chociaż są strony które informują o tym jaka kolejka jest do danego lekarza ew. usługi to zwykle kończy się to tak, że kiedy tam dzwonie to mi mówią, że "sory, 2020" mimo, że jest podane, że 0 osób w kolejce.