Skip to content

nhlong27/dengueapp

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

DENGUIDE

An IoT-based monitoring application for tackling the dengue fever outbreak
Author: Nguyen Hoang Long
View Demo · Report Bug · Request Feature

Live Demo

Official website: https://dengueapp.vercel.app/

Table of Contents
  1. About The Project
  2. Getting Started
  3. Contributing
  4. License
  5. Acknowledgments

About The Project

Product Name Screen Shot

This application was developed with the use of several IoT sensors and wireless communication technologies. The use of IoT sensors will enable the application to collect data on the health of patients with dengue fever, including their temperature, pulse, and blood pressure. Data will be transmitted wirelessly to healthcare providers, who can use it to monitor the health of patients in real time.

Contributors

Special thanks to Do Nguyen Dat - who contributed to the architecture design process and management of the IoT devices


Problems to address:
  • Shortages of medical workers during outbreaks of diseases like dengue fever
  • Inefficient traditional methods of monitoring patients' conditions
Provided solutions:
  • Provide a monitoring with built in alarm system. Data is collected from IoT wearables
  • Include a patient management system

Screenshots

Toggle Show/Hide

Duration

Around 2 months - Nov 2022 to Jan 2023

User stories

  • User should be able to sign up as either patient, doctor or nuse
  • User should be able to edit their profile information such as:Username, Email, Password
  • User as doctor and nurses should be able to have their own protected routes to sections unavailable to patients
  • User as doctor and nurses should be able to access the chatroom and messages
  • User as doctor should be able to add and remove new devices, rooms and beds
  • User as patients should be able to see their own real-time telemetry data and statuses

Challenges

  • Use 100% Typescript with frontend and backend
  • Pick a suitable API
  • Pick state management library for client side (between Redux, Zustand, Jotai or React Context, + React Query)
  • Pick a UI routing options
  • Implement auth
  • Pick a suitable database paradigm
  • Create unit tests
  • Deploy frontend and backend on seperate machines

Solutions

API Source

...

Solution Stack

Here are all major frameworks/libraries used to bootstrap this project

  • React
  • Vite
  • TailwindCSS
  • NodeJS
  • Mantine
  • MUI
  • Jotai
  • Supabase
  • Chartjs


Note: necessary libraries may have been left out * React-Query with Axios * Mongoose * React Hook Form * React Router v6 * React Auto-Animated * React Toastify * React Infinite Scroll Component * React Lazy Load Image Component * React Router Dom

Images & Icons

  • React Icons
  • Unsplash

(back to top)

Getting Started

Installation

Below is how you can install and set up your app.

  1. Default hosts are Thingsboard.cloud and Supabase. Create your own accounts
  2. Clone the repo
    git clone https://github.com/nhlong27/dengueapp.git
  3. Install NPM packages
    npm install
  4. Replace with your local environment variables: VITE_USERNAME, VITE_PASSWORD, VITE_SUPABASE_URL, VITE_SUPABASE_ANON, VITE_DEVICE_PROFILE
    const VITE_HOST = 'thingsboard.cloud';
    const VITE_USERNAME = 'your_thingsboard_username';
    const VITE_PASSWORD = 'your_thingsboard_password'; 
    const VITE_DEVICE_PROFILE = 'your_thingsboard_device_profile_id'; 
    const VITE_SUPABASE_URL = 'your_supabase_host'; 
    const VITE_SUPABASE_ANON = 'your_supabase_anon_key'; 

(back to top)

Usage

Default Assets

_Doctors (firstName lastName - email):

_Nurses (firstName lastName - email):

  • Ms Y - MsY@mail.com
  • Ms Z - MsZ@mail.com

_Patients (firstName lastName - email):

  • MrA febrile - MrA_febrile@mail.com
  • MrB critical - MrB_critical@mail.com
  • MsC recovery - MsC_recovery@mail.com
  • MrD normal - MrD_normal@mail.com

_Rooms:

  • A1_101

_Beds:

  • A1_101.1
  • A1_101.2
  • A1_101.3
  • A1_101.4

_Devices (label - token ):

  • Device_MrA_febrile - aFebrileToken
  • Device_MrB_critical - bCriticalToken
  • Device_MsC_recovery - cRecoveryToken
  • Device_MrD_normal - dNormalToken

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

See the open issues for a full list of proposed features (and known issues).

(back to top)

License

To be added

(back to top)

Acknowledgments

This space is for resources I found helpful and would like to give credit to.

(back to top)

About

vite+react+tailwind - patient monitoring/managing app

Resources

Stars

Watchers

Forks

Packages

No packages published