Code Monkey home page Code Monkey logo

smartpatient's Introduction

SmartPatient

It is an android application primarily focused to remind the patient for their medicine intake. This repository contains two versions of the implementation; offline version(in master branch) and full-fletched version(in dev-ongoing branch).

Screenshots:

Features of offline version:

  1. It can schedule alarms for medicine information entered via AddNewMedicine screen.
  2. Details of medicine along with it's image and useful information(if was entered while scheduling alarms) would be displayed during the time of alarm.
  3. Alarms that are unresponded are flagged as missed meanwhile responded alarms are flagged as completed. All of pending, completed and missed alarms can be seen in their individual tabs.

Features of online version:

  1. Patients and Health Personnel can create their account and logs in.
  2. Patient can request appointment with the health personnel of his/her choice from the available health personnel list.
  3. Health Personnel can respond to such request by either accepting or rejecting the request. In case of acceptance, it is assumed that both health personnel and patient will meet at the selected time which would be specified during the appointment creation.
  4. The medicine prescribed by health personnel can be entered along with the appropriate time for it's intake by health personnel. Such information would be propagated to the patient's app and alarms are scheduled accordingly.
  5. In case of queries, patient can connect with health personnel with the help of simple chat features implemented in the app.

Key things that I learned during the development of this app:

  1. how to implement MVVM properly,
  2. how to handle authentication using Firebase Authentication and about login flow,
  3. how to use Firestore and Firebase Storage,
  4. how to prevent memory leaks in android, and
  5. how to unit test the app.

Libraries used:

  1. Hilt(for dependency injection)
  2. Navigation Components(for navigation)
  3. Firebase(for authentication and data storage)
  4. Room(for local persistence)
  5. Livedata and lifecycle(for reactive and better programming)
  6. Timber(for logging)

smartpatient's People

Contributors

thegbguy avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.