Skip to content

bartekwk2/MedicinesApp

Repository files navigation

MedicinesApp

O aplikacji:

Aplikacja ma za zadanie monitorowanie dawkowania lekarstw.

Można wprowadzić do bazy tabletki przez podanie przedziału dni, godzin dawkowania lub odstępu godzinowego (np. antybiotyki),nazwy lekarstwa oraz ilości pojedynczej dawki. Aplikacja umożliwia przeglądanie danych lekarstw na kalendarzu dniowym (różne lekarstwa) lub kalendarzu miesięcznym (jeden typ leku). Możliwe jest również monitorowanie pozostałej ilości lekarstw w domu. Leki dodać można również przez kontynuacje obecnego lekarstwa w bazie: (te same dane leku, data przeskalowana od nowego dnia).

Możliwa jest również opcja dodania przez skan recepty bądź eRecepty. Analizowany jest tekst przy pomocy biblioteki mlkit-text-recognition oraz wyrażeń regularnych w celu wyodrębnienia z recepty niezbędnych informacji o dawkowaniu. Algorytm wyodrębnienia danych został przetestowny dla 4 recept

Po dodaniu leku aplikacja oblicza potrzebną ilość dawek oraz dzięki pobraniu danych metodą web scrapping (ze strony https://www.e-zikoapteka.pl) możliwe jest określenie potrzebnej ilości opakowań oraz ceny danego lekarstwa.

Aplikacja umożliwia kontrolowanie leków znajomych. Samo dodanie znajomych odbywa się przy pomocy zeskanowania kodu QR znajomego. W momencie gdy znajomy jest dostępny dzięki zastosowaniu bibliotek skyway : do webRTC (zaimplementowana w javie konieczność była przepisania do kotlina), firebase-messaging oraz navigation (deep link) możliwy jest chat video ze znajomym.

Aplikacja na bieżąco pokazuje bieżący stan leków do wzięcia, oraz leków pozostałych w apteczce. Możliwa jest dzienna analiza ilości leków dzięki wykresowi. Pod wykresem wyświetlona jest informacja czy leków wystarczy, a jeśli nie to ile dawek w apteczce zabraknie. Gdy następuje pora dawkowania aplikacja wysyła użytkownikowi powiadomienia o tym jaki lek i w jakiej ilości jest do wzięcia (periodic workManager, alarmManager)

Zastosowane technologie oraz biblioteki:

Architektura : MVVM

  • rxJava2, rxBinding, rxBus
  • coroutines, flow
  • jsoup (web scrapping)
  • volley
  • skyway (webRTC)
  • mlkit-text-recognition
  • room, databinding, navigation, dataStore
  • firebase-firestore, firebase-auth, firebase-storage, firebase-messaging,
  • workManager, alarmManager
  • cameraX
  • motionLayout, lottie
  • awesomeQRCode
  • AAChartCore, CalendarView, MotionToast i inne ...

Film z działania aplikacji : https://youtu.be/y2YXBkUNznI

Zdjęcia aplikacji




Kontynuacja projektu:

Naprwa bugów, rozbicie AppRepository na kilka repozytoriów, zastosowanie dependency injection (Hilt)

About

Domowa apteczka

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published