CareBud
  • INTRODUCTION
  • BACKGROUND STUDY
  • IMPLEMENTATION AND PERFORMANCE EVALUATION
  • React Native
  • Node.Js
  • Format Preserving Encryption (FPE)
  • User management and Crypto Key Management
  • User management and Access Control Lists (ACL)
  • CareBud Backend Application (Cloud Implementation)
  • MongoDB
  • CareBud Demo
Powered by GitBook
On this page
  • Common terms used in this chapter
  • System Specification
  • System Overview
  • CareBud Backend Application (Cloud Implementation)

Was this helpful?

IMPLEMENTATION AND PERFORMANCE EVALUATION

In this phase turning strategies and plans into actions in order to accomplish our goal and evaluate the performance of the project.

PreviousBACKGROUND STUDYNextReact Native

Last updated 6 years ago

Was this helpful?

Common terms used in this chapter

  • CareBud App: App designed to manage all user’s data which include and performs all required processes in the client side such as (Encryption, Decryption, Key management, Access Control, Users Account Management and Sending, and Receiving data from Could Backend).

  • CareBud Backend: is Ubuntu server that hold database server MongoDB NonSql Database for creating, updating, and delete user encrypted data using RESTful APIs.

  • AWS Cloud: Amazon Web Services EC2 Cloud service used to hold Ubuntu server and CareBad backend which provided by AWS.

  • RESTful APIs: Representational State Transfer is an application program interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data.

  • Smart Watch (Virtual Smart Watch): is virtual smartwatch created to simulate data coming or reported from patients’ body and provided to CareBud App which will check patient health status and sending Json data every ten seconds.

User Entities used in this Project:

  • Patient: (P1) is the main aspect in this project and he/she has an account that contain specific diagnosis and health reports that been taken by virtual smart watch and other reports are provided by the patient himself.

  • Doctor: (D1) Doctor is responsible to watch patient health reports status, he/she will be notified if their critical reports and it can interact with patient totally and give his diagnosis on that health reports also sharing doctor advises.

  • Relatives: (R1) an entity related to patient which play if the patient want one of his family members to be reported with his health reports.

System Specification

Running tests and implementing this project needs two requirements which are hardware and software requirements, those are needed to run the project along with all the tools used to achieve it.

Hardware Requirements

Devices used to run and test the performance wither in client side or cloud side are listed as follow:

  1. Laptop Intel Corei7 2.8GH with 8GB Ram.

  2. Smartphone with android OS 4.4 or higher or IOS IPhone with OS 9 or higher.

  3. Cloud Server With running OS Ubuntu 16.10 or any other Lunix operating system.

  4. IOT Smartwatch for getting patient health reports (Simulation Used).

Software Requirements

We have used many different software to run the projects also before we start on the project totally we had to ensure that the idea is able to be implemented in the real world.

  1. ode Editors.

  2. Intellij Idea v3.3.

  3. Android Studio 3.2.

  4. Notepp++.

Coding Languages:

System Overview

In this section will explain the core methodologies we integrated in the application which is created to test and apply those methods and make sure the idea and all theoretical part can be reflected on the practical part with the required results, these methodologies are (Encryption/Decryption, Key Management and Access control list) which implemented in the client side without server or cloud involvement.

System Encryption/Decryption Flow

User management and Crypto Key Management

User management and Access Control Lists (ACL)

CareBud Backend Application (Cloud Implementation)

.

When we come to term of encryption in client side many questions come to our mind, can user’s device handle the encryption and decryption process in matter of speed or time related issues. After testing in client side for multiple size of data we can encrypt about 4MB of data in around 7.88 Millisecond and store it in the cloud database.

CareBud project is not only interaction between single user and the cloud. It's a case where users also can interact with each other where they can share their information and apply sophisticated access rules such as (Reading, Writing and Modifying) which mean plenty of encryption and decryption processes and crypto keys need to be shared during that.

Accessing resources in the system need to be planed will between the entities depending on the accounts types or some identifications or per group. An access control list (ACL) is a table that tells a CareBud App which access rights each user has to a particular system object, such as a file directory or individual file records. Each object has a security attribute that identifies its access control list.

Front-end and back-end are terms used to characterize program interfaces and services relative to the initial user of these interfaces and services. (The "user" may be a human being or a program.) A "front-end" application is one that application users interact with directly. A "back-end" application or program serves indirectly in support of the front-end services, usually by being closer to the required resource or having the capability to communicate with the required resource. The back-end application may interact directly with the front-end or, perhaps more typically, is a program called from an intermediate program that mediates front-end and back-end activities.

React Native
Node.JS
RESTful APIs.
MongoDB
Read more about System Encryption/Decryption in CareBud System...
Read more about User management and Crypto Key Management in CareBud System...
Read more about User management and Access Control Lists (ACL) in CareBud System...
Read more about CareBud Backend Application...
CareBud Application Architecture