Code Monkey home page Code Monkey logo

heartfailure's Introduction

js-standard-style

Project Briefing

In a normal healthy heart, during each heartbeat a set amount of blood enters the heart and is pumped out again. If you have heart failure, your heart cannot cope with pumping the full amount of blood in each heartbeat. The incidence of heart failure is increasing. Over half a million people in the UK have been diagnosed with heart failure. Heart failure is not a static disease and the patient’s condition might worsen rapidly which calls for a rapid treatment response.

The most common measure for home monitoring of Heart failure patients is body weight, which relates to the patient’s fluid balance. However, the benefits of such systems are limited. Therefore a system, which combines ECG and heart sounds, is proposed for home monitoring. The advantage of combining ECG and heart sounds is that they, in combination, measure both the mechanical and electrophysiological function of the heart in real-time. The challenges are many and include design of a system, which is easy and comfortable to use, and development of mobile applications for visualization and processing of the signals.

Aim

This project aims at designing a mobile application (App) capable of receiving data from an external device, process and visualize for the patient. The project may include setting up a remote server for data storing. At the end of the project, the student should submit a report. Source codes and hardware are delivered to the project proposer. This project can be completed in close collaboration with the student working with project ENK01.

Installation
git clone https://github.com/NaseebullahSafi/HeartFailure.git HeartFailure
cd HeartFailure
npm install
Run Application
cd HeartFailure
react-native run-ios        // Run Build for IOS
react-native run-android    // Run Build for Android
Folder Structure
HeartFailure
├── App                      // Main Application logic lies here
   ├── Components           // "Dumb" components are stored here.
      ├── Styles           // This folder contains the style files that match the naming of our components
   ├── Config               // All application specific configuration falls in this folder
   ├── Containers           // "Smart Component" lies here
      ├── Styles           // This folder houses our container styles
   ├── Fixtures             // All key API responses are housed here (Not used in our proj)
   ├── Images               // Static images used in our project are stored here
   ├── Lib                  // Reusable components outside our project
   ├── Navigation           // Cinfgures our application routing
   ├── Redux                // A place to store our Redux files (default setup from the scaffolding)
   ├── Sagas                // A place to store our Sagas (default setup from the scaffolding)
   ├── Services             // API calls to external services
   ├── Themes               // A place to contain styles shared across our project (fonts, colors, etc.)
   └── Transforms           // Working with APIs is to change data so
├── README.md
├── Tests                    // Unit testing directory              
   ├── Components           // Unit testing of our components
├── android                  // Access point to our android platform
   ├── app
   ├── build.gradle
   ├── gradle
   ├── gradle.properties
   ├── gradlew
   ├── gradlew.bat
   ├── keystores
   └── settings.gradle
├── ignite
   ├── ignite.json
   └── plugins
├── index.android.js
├── index.ios.js
├── ios                      // Access point to our IOS platform
   ├── HeartFailure
   ├── HeartFailure-tvOS
   ├── HeartFailure-tvOSTests
   ├── HeartFailure.xcodeproj
   └── IgniteProjectTests
└── package.json

External Libraries

Because this project uses Ignite CLI scaffolding, certain libraries have been installed by default, to organise the application and hold the basic structure. However, these libraries are not entirely reliant within our custom react-native components; bu they are still needed by Ignite CLI. For example, the libraries below are installed by the CLI to organise our project.

Libraries used by Ignite CLI Scaffolding

apisauce, convert-string, metro-bundler, ramda, ramdasauce, react, react-native-popup-menu, react-redux, redux, redux-form, redux-persist, redux-saga, reduxsauce, seamless-immutable

Below are some libraries that are used within our components. Some libraries from below are not integrated to certain components due to incompatibility issues, but can be used if integrated to react-native modules. For example: slayerjs is a node module which cannot be used within react-native.

Libraries used within our react-native custom components

react-native, firebase-mock, lodash, moment, prop-types, react-native-ble-manager, react-native-check-box, react-native-firebase, react-native-highcharts, react-native-svg, react-native-tab-view, react-native-timeago, react-native-vector-icons, react-navigation,

App/Fixture Directory

Within this folder, Ignite has generated some dummy data that is closely coupled with Redux. We can't remove these data as it breaks the whole application. Our application does not use Fixtures, and therefore, we do not deal with any of the data from there.

User's images

Dummy images have been taken from google images. Some Images may hold copyright, and some not.

Credits

Lead Developer - Naseebullah Ahmadi (@Naseebullahsafi)

License

The MIT License (MIT)

Copyright (c) 2018 Naseebullah Ahmadi

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

The software is provided "as is", without warranty of any kind, express or implied, including but not limited to warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software of the use of other dealings in the software.

heartfailure's People

Contributors

bitabs avatar

Stargazers

 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.