Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

WCAG Compliance Report

Technical Concept

Chat Concept

Project Introduction

Implementing Chat App on web and mobile APP

Terminology

Word

Meaning

Realtime API

Room

Subscriptions

Message

Direct message

Features

The main chat feature are:

  1. Text message

  2. File attachment

  3. Video call

Technology Stack

  • Rocket Chat

  • Jisit

  • Keycloak

  • Laravel

  • React JS

  • React Native

  • MySQL

  • Hosting??

Architecture Overview

Diagrams

Purpose of this section is to include any additional diagrams that would clarify complex parts of the product.

User Stories

Web App

#

User Story Tile

User Story Description

Priory

Notes

1

Setup Rocket Chat and Jisi

As developer, I want a chat server setup on local/production environment, so we can integrate them into App

2

Create user automatically

As developer, I want to create a chat user after registered/created (from system)

3

Login automatically

As developer, I want the rocker user login after user login on Web app

4

Text Message

  • Total number of unread messages

  • Search box

  • Message list

  • Message box

refs.

5

Video Call

refs.

Mobile App

#

User Story Tile

User Story Description

Priory

Notes

1

Create user automatically

2

Login automatically

3

Text Message

4

Video Call

Current status

Purpose of this section is to discuss open issues / bugs, risks, and share any specific conclusions that the reader should walk away with

ERD

Mobile OTP

ref. https://developers.google.com/identity/sms-retriever

SMS API Service

Questionnaire Concept

Questionnaire list

Add Questionnaire

Rocket Chat Configuration for OpenRehab

Installation

It is already setup through docker-compose.yml of the project distribution package, the service named rocketchat and its dependencies mongo and mongo-init-replica.

After you start your docker containers, you should be able to access rocket chat through this URL: http://localhost:3000/

Admin registration / first startup

  • Open this URL: http://localhost:3000/ in your browser, you will see the form step wizard with 4 steps

  • In step #1: please make sure to use the real email account for Organization Email because Rocket Chat will do background verification. If you use fake email, your registration will failed. This email can be changed afterward.

  • In step #3: please select "No" for Auto opt in new users for Two Factor via email. This option can be changed afterwards as well.

Configuration for OpenRehab

  1. Allow user to have edit messages and delete private chat room. Search for edit-message and delete-p make sure its check under group: user

  2. Enable Rest API security CORS. Go to General (search in Settings) → expand accordion REST Api → Enable CORS

Admin personal access token for Therapist and Patient service

You can find sample environment variables for both Therapist and Patient service from file .env.example. To generate access token click on admin profile thumbnail → My Account → Personal Access tokens

  • Fill in the name of your access token for example: Admin Access Tokens for OpenRehab → click Add

  • You might need to enter admin password for security verification

  • There will be a popup with userId and token, please copy those values for ROCKET_CHAT_ADMIN_USER_ID and ROCKET_CHAT_ADMIN_AUTH_TOKEN of your .env file

ROCKET_CHAT_URL=http://rocketchat:3000
ROCKET_CHAT_ADMIN_USER_ID=
ROCKET_CHAT_ADMIN_AUTH_TOKEN=
ROCKET_CHAT_ADMIN_PASSWORD=H1V-CHAT@ADM1N

Admin Permission to Delete ChatRooms

You can find the screenshot below of how to configure the permission

Translation Module

Label localization

The Web/Mobile App would be possible updated by Backend admin, and they are fetched localize api (json) into local app storage, it would be updated again if there new localize changed.

Dynamic content

It is created a new separated record which is related the original record and sysLang. It would be applied for:

  • Exercise

  • Education Material

  • Questionnaire

  • Category

Static content

For static content (Language of the app itself), we will store each language in a separate file,
Translator will provide a new file with all translated text inside to the developer to manually add
it to the app

Use Cases

User Roles

WCAG

Third Parties

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.