Skip to content

tungxd96/CocoBot-Mobile-Capstone-2020

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

CocoBot-Mobile

CocoBot is an empathetic chatbot application tending to solve caregiver's mental health problems(e.g. depression, asthma, etc.) by:

  • Using conversational AI, Rasa, to understand problems between chatbot and caregivers
  • Providing relevant resources to current problems that a caregiver has for contributing to healthcare problem solving
  • Tracking current progress of caregiver's solutions to ensure that our caregivers follow their progress properly

Getting Started

Instructions

Setup

Environment Setup

  • Expo
  • Android Studio
  • Android Simulator
  • IOS Simulator
  • Visual Studio Code

Program Setup

  1. On command lines, navigate to where you want to install this program
  2. Run git clone https://github.com/DrDongSi/CocoBot-Mobile.git to download the program into your current directory
  3. Open this project in Visual Studio Code and open a new terminal on VSCode
  4. Run npm install on terminal to install all required packages and dependencies for the program

Compile and Run

  1. Run npm start after completing all the setup
  2. Press i for IOS stimulator, a for Android stimulator, w to run on web, or e to send a link to your phone with email

Architecture Diagram

Fullstack Architecture Diagram

In order to perform CRUD operations from mobile client, it uses Firebase API in Expo to first request HTTP calls to server. From server, it then sends a TCP/IP request to Firebase Authentication and Cloud Firestore for authentication and database communication to the client.

Project Workflow

Folder Hierarchy

This folder hierarchy presents all the files that I implemented for this capstone project
If folder is at the end of its path, that means I implemented all the files inside that folder. If not, my working files will be specified

Examples

Onboarding Questionnaire

Survey Introduction

Purpose

Introduces to caregivers that we're about to ask caregivers for their information input

Steps to Generate Outputs

  1. Simply press one of the 2 buttons at the footer of each page to move to the next page

Survey Input

Purpose

Asks caregivers to input their name, age, household, and children for better assistance and user self-recognition

Steps to Generate Outputs

  1. Enter name and press Next, age input will slide down and be visible for caregivers to enter age and press Next
  2. Enter household and press next, children input will slide down and be visible for caregivers to enter number of children and press next
  3. Press on + Add child to add a child and a modal sheet will appear to allow caregivers entering their child information, then enter their child information per request and press Save. After adding a child, any existed children will appear on the screen. Pressing on each child card (e.g. Cindy or Alex) will allow caregivers to edit their child information. Press Next when you're done with children.
  4. Press Explore to start exploring the app. This will prompt you to our home screen

Authentication

To navigate to authentication page, you need to press on the avatar on the header of home screen. This will navigate to settings page. From settings page, if you're signed in, Log out button will appear at the bottom of the page. If you're anonymous, Login button will appear instead

Login

Purpose

Allows caregivers to login into their own account or sign in with Apple

Steps to Generate Outputs

Sign in with Email and Password
  1. Enter your email
  2. Enter your password
  3. Press Sign In
Sign in with Apple
  1. Press Sign in with Apple button
  2. Follow Apple sign-in instructions

Register

Purpose

Allows caregivers to create a new account with email and password

Steps to Generate Outputs

  1. Enter your name
  2. Enter your email
  3. Enter your password
  4. Press Sign Up

Forgot Your Password

Purpose

Allows caregivers to reset their password with Firebase

Steps to Generate Outputs

  1. Enter your email to send a reset link to your email
  2. Press Submit, then check your email and follow the instructions in your email to reset your password

Settings

Personal Information

Purpose

Allows caregivers to view and edit their personal information

Steps to Generate Outputs

  1. Modify any inputs (first name, last name, gender, date of birth, and email) you want to edit
  2. Press Save to save any changes

Child Information

Purpose

Allows caregivers to view and edit their children information

Steps to Generate Outputs

  1. Press on any child card you want to edit his/her information
  2. Modify any inputs (first name, last name, gender, date of birth, and chronic condition) you want to edit
  3. Press Save to save any changes

Notification

Purpose

Allows caregivers to customize their notification settings

Steps to Generate Outputs

  1. Press on any switches corresponding to email, daily tasks, messages, and push notifications to toggle on/off a specific notifcation

Progress

Progress Stats

Purpose

Provides progress statistics including achievements, ratings in line chart, and solution completion rates in horizontal bar chart

Progress Details

Purpose

Provides caregivers with progress details including calendar to track their activity period, focus overview, and PST steps

Demos

Click on the below thumbnail for video
CocoBot Final Demo

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published