Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
6090655
Update README.md
bgmeginnis Sep 21, 2023
63165cb
Merge pull request #1 from bgmeginnis/patch-1
eforrest8 Sep 21, 2023
9722317
Update README.md
eforrest8 Sep 26, 2023
7ad9c76
Meeting minutes for 2023-09-26
eforrest8 Sep 26, 2023
665498b
Design meeting minutes
eforrest8 Oct 2, 2023
97c65a3
Add screenshot and reference to previous project
eforrest8 Oct 2, 2023
1d05eeb
Update README.md
bgmeginnis Oct 2, 2023
4fd18c2
Update README.md
bgmeginnis Oct 2, 2023
31960fb
Add document
eforrest8 Oct 5, 2023
0d83eb2
Add mentor meeting minutes
eforrest8 Oct 5, 2023
d0a60b6
Fix file name extension
eforrest8 Oct 5, 2023
3918573
Update 2023-10-05.md
eforrest8 Oct 5, 2023
aa994e5
Add Design documents
eforrest8 Oct 11, 2023
48fe212
Merge branch 'master' of https://github.com/eforrest8/NextGenEmotionC…
eforrest8 Oct 11, 2023
184063e
Add design images
eforrest8 Oct 11, 2023
0cf7dc7
Fix link
eforrest8 Oct 11, 2023
55ccc9a
Fix links (again)
eforrest8 Oct 11, 2023
9b0d669
More links fix
eforrest8 Oct 11, 2023
3e499ce
Fixfixfix
eforrest8 Oct 11, 2023
965e4db
Images (real???)
eforrest8 Oct 11, 2023
9a41188
Fix for real
eforrest8 Oct 11, 2023
1ad0a38
Merge branch 'master' of https://github.com/eforrest8/NextGenEmotionC…
eforrest8 Oct 11, 2023
7a40115
Upload meeting minutes
eforrest8 Oct 11, 2023
5c19d07
Update 2023-10-02.md
bgmeginnis Oct 11, 2023
cb68b38
Added Design Day PDF
bgmeginnis Oct 11, 2023
0cea62c
Delete Presentations/Design Day.pdf
bgmeginnis Oct 11, 2023
f5eb8d4
Added DesignDay.pdf
bgmeginnis Oct 11, 2023
20729c0
Update README.md
bgmeginnis Oct 12, 2023
906a825
Add figma prototype and video demonstration
eforrest8 Oct 12, 2023
e34509b
Merge branch 'master' of https://github.com/eforrest8/NextGenEmotionC…
eforrest8 Oct 12, 2023
b03212d
Add mentor meeting notes
eforrest8 Oct 19, 2023
95d12e9
Add meeting minutes
eforrest8 Oct 19, 2023
0568062
Create 2023-10-26 mentor meeting notes
ryanmartinez24 Oct 26, 2023
c6c9112
Merge pull request #2 from ryanmartinez24/patch-3
ryanmartinez24 Oct 26, 2023
fea7ccf
Update Architecture.md
DSP13S Oct 26, 2023
123e034
Update BusinessRequirements.md
DSP13S Oct 26, 2023
e0ffd7b
Update DomainModel.md
DSP13S Oct 26, 2023
fdf227e
Update Prototype.md
DSP13S Oct 26, 2023
973ef87
Update TechStack.md
DSP13S Oct 26, 2023
a9f61d6
Create UseCasesUpdated.md
DSP13S Oct 26, 2023
afa42da
Create 2023-26-10
ryanmartinez24 Oct 26, 2023
07664f9
Create RequirementsUpdated.md
DSP13S Oct 26, 2023
25bd2f0
Rename 2023-26-10 to 2023-10-26.md
bgmeginnis Oct 26, 2023
5c168b9
Rename 2023-10-26 to 2023-10-26.md
bgmeginnis Oct 26, 2023
184583d
Copy old Documentation.md
eforrest8 Oct 26, 2023
85c21fd
Update Development.md
bgmeginnis Oct 26, 2023
c314086
Update Development.md
bgmeginnis Oct 26, 2023
d3a809c
Update Development.md
bgmeginnis Oct 26, 2023
dd68262
Update Development.md
bgmeginnis Oct 26, 2023
0297974
Update Development.md
bgmeginnis Oct 26, 2023
1991d07
Update Development.md
bgmeginnis Oct 26, 2023
ed27b2b
Update Development.md
bgmeginnis Oct 26, 2023
e85eabd
Update Development.md
bgmeginnis Oct 26, 2023
a389a67
Update Development.md
bgmeginnis Oct 26, 2023
2754dff
Create 2023-11-03
bgmeginnis Nov 2, 2023
f91f019
Rename 2023-11-03 to 2023-11-03.md
bgmeginnis Nov 2, 2023
ba2fc94
Update 2023-11-03.md
bgmeginnis Nov 2, 2023
c33caae
Create 2023-11-09 _DURING-CLASS-TIME.md
DSP13S Nov 9, 2023
ee0cdf0
Update 2023-11-09 _DURING-CLASS-TIME.md
DSP13S Nov 9, 2023
7dc211e
Update 2023-11-09 _DURING-CLASS-TIME.md
bgmeginnis Nov 9, 2023
3f40754
Create 2023-11-09
bgmeginnis Nov 9, 2023
5d762c2
Rename 2023-11-09 to 2023-11-09.md
bgmeginnis Nov 9, 2023
39b2158
Create 2023-11-04.md
bgmeginnis Nov 9, 2023
42d0d71
Create 2023-11-06.md
bgmeginnis Nov 11, 2023
1de8f1f
Update README.md
bgmeginnis Nov 11, 2023
ba44324
Update README.md
bgmeginnis Nov 11, 2023
e930e0f
Update README.md
bgmeginnis Nov 11, 2023
ddd9754
Update README.md
bgmeginnis Nov 11, 2023
33678e7
Update documentation info on saving data
eforrest8 Nov 12, 2023
088f2e9
Merge branch 'master' of https://github.com/eforrest8/NextGenEmotionC…
eforrest8 Nov 12, 2023
b901b55
Add Deployment.md
eforrest8 Nov 12, 2023
8b50527
Update UseCasesUpdated.md
bgmeginnis Nov 12, 2023
e513936
Add files via upload
eforrest8 Nov 13, 2023
a799812
Create 2023-11-21.md
bgmeginnis Nov 21, 2023
a77c1bf
Create 2023-21-11.md
bgmeginnis Nov 21, 2023
4daf443
Rename 2023-21-11.md to 2023-11-21.md
bgmeginnis Nov 21, 2023
100bc6a
Update 2023-11-21.md
bgmeginnis Nov 21, 2023
2f3f082
Update 2023-11-21.md
bgmeginnis Nov 21, 2023
9a4b5a8
Create 2023-11-21.md
bgmeginnis Nov 21, 2023
c1ee9e9
Update 2023-11-21.md
bgmeginnis Nov 21, 2023
8ca0d4b
Update 2023-11-21.md
bgmeginnis Nov 21, 2023
b55fdab
Update Development.md
bgmeginnis Nov 28, 2023
0ced51a
Update Development.md
bgmeginnis Nov 28, 2023
a0d0a22
Added webapp database model.drawio.png
eforrest8 Nov 28, 2023
baed29c
Create 2023-11-30.md
bgmeginnis Nov 30, 2023
4d5a755
Create 2023-11-30 _DURING-CLASS-TIME
bgmeginnis Nov 30, 2023
ae1e130
Rename 2023-11-30 _DURING-CLASS-TIME to 2023-11-30 _DURING-CLASS-TIME.md
bgmeginnis Nov 30, 2023
e8e0ee9
Create 2023-11-30.md
bgmeginnis Nov 30, 2023
8bb099d
Update 2023-11-30.md
bgmeginnis Dec 1, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added Auxiliary Files/webapp database model.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions Design/Architecture.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Architecture
## No updates were made prior to Update Design Items Assignment (10/26/23)

Existing Peak Mind Structure:

![](image2.png)

VR Data Visualization System:

![](image3.png)

AWS API: Biometric sample data will be retrieved from Peak Mind’s AWS database.

Unity data vis app: The data visualization app will obtain sample biometric data and convert it into VR modules.

Web app dashboard iFrame: The visualizations will be sent to the web app dashboard and displayed via iFrame.
7 changes: 7 additions & 0 deletions Design/BusinessRequirements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Business Requirements
## No updates were made prior to Update Design Items Assignment (10/26/23)

* BR1. Reduce stress in the workforce
* This is Peak Mind’s primary business goal. The company was founded after Dr. Mckoy noticed a problem in workplace turnover and happiness. Peak Mind seeks to address this issue through their core technologies. The company does this using VR and biometric technologies to measure, remediate, and validate stress.
* BR2. Validate that stress reduction techniques are effective
* Careful analysis of recorded data will allow Peak Mind to determine the effectiveness of stress reduction techniques described in BR5. By comparing biometrics before, during, and after stress reduction stimuli, Peak Mind will be able to look for statistically significant decreases in stress biometrics. Thus, the mathematical analysis of recorded data will validate the proposed effectiveness of the VR treatments.
21 changes: 21 additions & 0 deletions Design/DomainModel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Domain Model
## No updates were made prior to Update Design Items Assignment (10/26/23)

![Domain Model](./image1.png)

Note that many of these components are likely already specified by the existing software. Our design will be adapted once we have access to the code.

Recorder: The software responsible for connecting to and reading sensor data from the VRDevice.

VRDevice: The VR headset itself, accessed via the applicable SDK.
MomentaryData: A generic representation of a sensor reading at a single moment in time. The data it contains may be a frame of video, the current heart rate, or whatever else is being collected.

WebUI: The frontend through which users and analysts may log in to access session data.

Database: The storage method for collected session data. The database is hosted on AWS and thus is accessed over the network.

Session: An aggregation of all the data collected over a single VR session. This class is associated with a six-digit access code, which is required for access by users. Each session is uniquely identified by its start time; this behavior may be adjusted in the case of collisions.

User: A person who may log in to the WebUI in order to access session visualizations. They differ from analysts in that they must have the appropriate access code for any session they wish to access.

Analyst: A person who may log in to the WebUI in order to access visualizations. They may access any session without the need for its access code, and may also access the session's raw data in addition to visualizations.
8 changes: 8 additions & 0 deletions Design/Prototype.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Prototype
## No updates were made prior to Update Design Items Assignment (10/26/23)

Per discussion with our client, we are reusing their existing Figma prototype for the purposes of this project.

[This link will lead to the prototype on Figma.](https://www.figma.com/file/1fNpgf7UKVJZiFxw7GPrn3/Dashboard-new-UIUX?type=design&node-id=49-874&mode=design&t=1KuLIpnsQsriXt3J-0)

[Here is a link to a video on Youtube walking through the prototype.](https://youtu.be/mkMkjJ9EuP8)
3 changes: 2 additions & 1 deletion Design/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Design

Design documents here... Explain each folder/file in this readme file.
## Existing documents
Design documents from previous project located at [https://github.com/pfled/peak-visualization/tree/main] are still considered valid for the current work.
11 changes: 11 additions & 0 deletions Design/Requirements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Functional Requirements
* FR1. (Corresponds to BR2) (Priority: HIGH) When a user is using the VR device, the video feed from the device's face camera will be recorded.
* FR2. (Corresponds to BR2) (Priority: HIGH) All recorded data will include timestamps so as to synchronize the individual feeds with each other for future playback.
* FR3. (Corresponds to BR1) (Priority: LOW) A user may log in with a six-digit code to view a visualization of their collected data.
* FR4. (Corresponds to BR2) (Priority: MEDIUM) Peak Mind analysts may access all collected data and associated visualizations.
# Non-Functional Requirements
* NR1. (Corresponds to BR1, BR2) (Priority: HIGH) The software will connect to the HP Omnicept VR device.
* NR2. (Corresponds to BR1, BR2) (Priority: MEDIUM) The new software will extend the functionality of the existing software.
* NR3. (Corresponds to BR2) (Priority: LOW) Recorded data will be stored via an AWS instance.
* NR4. (Corresponds to BR1, BR2) (Priority: HIGH) Dr. Mckoy must have full access to and control over everything in the AWS account.
* NR5. (Corresponds to BR1. BR2) (Priority: LOW) All collection, storage, and access of user data must comply with applicable regulations.
13 changes: 13 additions & 0 deletions Design/RequirementsUpdated.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Functional Requirements
* FR1. (Corresponds to BR2) (Priority: HIGH) When a user is using the VR device, the video feed from the device's facial cameras will be recorded.
* FR2. (Corresponds to BR2) (Priority: HIGH) All recorded data will include timestamps so as to synchronize the individual feeds with each other for future playback.
* FR3. (Corresponds to BR1) (Priority: LOW) A user may log in with a six-digit code to view a visualization of their collected data.
* FR4. (Corresponds to BR2) (Priority: MEDIUM) Peak Mind analysts may access all collected data and associated visualizations.
* FR5. (Corresponds to BR2) (Priority: HIGH) Activate the mouth facial biometric camera.
* FR6. (Corresponds to BR1) (Priority: MEDIUM) Display Peak Mind's stress reducing stimuli within the VR headset.
# Non-Functional Requirements
* NR1. (Corresponds to BR1, BR2) (Priority: HIGH) The software will connect to the HP Omnicept VR device.
* NR2. (Corresponds to BR1, BR2) (Priority: MEDIUM) The new software will extend the functionality of the existing software.
* NR3. (Corresponds to BR2) (Priority: LOW) Recorded data will be stored via an AWS instance.
* NR4. (Corresponds to BR1, BR2) (Priority: HIGH) Dr. Mckoy must have full access to and control over everything in the AWS account.
* NR5. (Corresponds to BR1. BR2) (Priority: LOW) All collection, storage, and access of user data must comply with applicable regulations.
20 changes: 20 additions & 0 deletions Design/TechStack.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Tech Stack
## No updates were made prior to Update Design Items Assignment (10/26/23)

Note: We plan to carry over most, if not all, of the previous project's tech stack.
## Web App
* React (Link to https://reactjs.org)
* Peak Mind utilizes React for the portion of their web app that we will be working with.
* JavaScript (Link to https://www.javascript.com)
* JavaScript was previously utilized by the last group of students who worked on the Web App because React is a JavaScript framework.
* AWS (Link to https://aws.amazon.com)
* Peak Mind’s database operates as a cloud native system in AWS.
* Docker (Link to https://www.docker.com)
* Docker will ensure that our code can run on any system. Our team is using a variety of machines with varying operating systems. A docker container will allow us to move the application into the AWS production environment.
## VR Visualization
* Unity (Link to https://unity.com)
* Unity was selected by the previous team for the purpose of connecting to the VR headset. The HP Omnicept SDK is compatible with Unity.
* HP Omnicept SDK (https://developers.hp.com/omnicept/docs)
* Peak Mind uses HP Omnicept headsets, so the HP Omnicept SDK will be necessary to generate the visualization of obtained biometric data obtained via the headset.
* AWS (https://aws.amazon.com)
* AWS will be necessary to reach Peak Mind’s biometric database and utilize sample data for the purpose of visualization. AWS is a client specified requirement.
21 changes: 21 additions & 0 deletions Design/UseCases.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Use Cases
* UC1. (Corresponds to BR1, BR2) Reduce employee stress by administering stress reducing stimuli
* We aim to reduce employee stress via the administration of stress reducing stimuli. This stimuli is most effective in VR format, thus employees of high stress demographics will utilize VR headsets to receive their stress reduction stimuli. The intended result is that employees will experience reduced stress during and after exposure to VR stress reduction stimuli.
* High Stress Employees
* Program Flow:
* Users access web app to request help with stress
* Backend evaluates user data to select appropriate response
* Response is provided via web app/VR device
* UC2. (Corresponds to BR2) Access visualized employees stress biometric data for analysis
* Data analysts will want to be able to access both real time and recorded visualizations of employee stress biometric data. A live graph will be present, along with a recording of said graph as it evolves. A final chart will demonstrate how the graph changed over the duration of treatment/exposure.
* Data Analysts
* Program Flow:
* Participant data is collected via VR headset and stored in AWS backend
* Analysts request data via web app
* Data is retrieved from AWS backend, visualized, and displayed
* UC3. (Corresponds to BR1, BR2) Identify most common workplace stressors
* The cumulative data collected and utilized by data analysts will allow the owner to determine the most common workplace stressors in each workplace that is analyzed. Recorded historic biometric data will play a key role in this identification process. Pattern analysis will certainly be necessary to accurately convey biometric data into real world, explainable stressors.
* Data Analysts
* Program Flow:
* Biometric data is collected from users via VR headset and stored in AWS backend
* Analysts evaluate data to identify common stressors
21 changes: 21 additions & 0 deletions Design/UseCasesUpdated.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Use Cases
* UC1. (Corresponds to BR1, BR2) Detect biometric stressors through facial scanning and administer stress reducing stimuli
* We aim to reduce employee stress via the administration of stress reducing stimuli. This stimuli is most effective in VR format, thus employees of high stress demographics will utilize VR headsets to receive their stress reduction stimuli. The intended result is that employees will experience reduced stress during and after exposure to VR stress reduction stimuli.
* High Stress Employees
* Program Flow:
* Users access web app to request help with stress
* Backend evaluates user data to select appropriate response
* Response is provided via web app/VR device
* UC2. (Corresponds to BR2) Access visualized employees stress biometric data for analysis
* Data Scientists will want to be able to access both real time and recorded visualizations of employee stress biometric data. A live graph will be present, along with a recording of said graph as it evolves. A final chart will demonstrate how the graph changed over the duration of treatment/exposure.
* Data Scientists
* Program Flow:
* Participant data is collected via VR headset and stored in AWS backend
* Analysts request data via web app
* Data is retrieved from AWS backend, visualized, and displayed
* UC3. (Corresponds to BR1, BR2) Identify most common workplace stressors
* The cumulative data collected and utilized by data Scientists will allow the owner to determine the most common workplace stressors in each workplace that is analyzed. Recorded historic biometric data will play a key role in this identification process. Pattern analysis will certainly be necessary to accurately convey biometric data into real world, explainable stressors.
* Data Scientists
* Program Flow:
* Biometric data is collected from users via VR headset and stored in AWS backend
* Analysts evaluate data to identify common stressors
Binary file added Design/image1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Design/image2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Design/image3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 41 additions & 0 deletions Discovery/Minutes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Client Meeting on 10/2/2023
## Meeting Start Time
**2023/10/02/17:00**
## Meeting End Time
**2023/10/02/18:00**
## Location/Medium
Zoom
## Present
Beethoven, Peter, Ryan, Tommy, Ethan, Alicia
## Minute Recorder
Beethoven Meginnis
## Topics Discussed
We went over basic introductions. We discussed the basic tech stack. Set up zoom meeting for 5pm Wednesday 10/11.
Will need a new AWS account and add Alicia in. (Give permissions to Alicia for everything we build)
Peak Mind intends to lower stress in the workforce. Stress is the opposite of homeostasis. Peak intends to discover 150 of the most common workplace stressors and teach adults how to get out of stress and back into homeostasis. These 150 steps are stored in software. Intend to educate people on what workplace stressors look like as well as measure biometrics of stress. Measure, remediate, and validate.
The HP headset has a face camera to do face computing. Look at face camera in conjunction with pupil dilation to tell us if we’re excited or in fear.
***Alicia, requested that we email her to tell us about the dead code base repositories.
The HP headset will require some permissions and plugins to make the camera work.
***Eventually, schedule a meeting to physically test the headset.
Tech Stack:
Python3.8 Backend, Pipenv, PostgreSQL Database in AWS, JavaScript, TypeScript, HTML, CSS, Mako, Makefile, React Front End, and potentially Unity
This product will be used on phones on computers. There is a backend and a frontend.
Our primary objective is to get the face detection working in the existing software.
The second objective is to get the web app working in a more complete manner. Deployed.
Primarily, we just need to get the HP headset camera working.
First Iteration:
- Get Camera working (Big one for the first iteration)
Second Iteration:
- View data on frontend
Third Iteration:
- Visualize how we are replaying the data. We must be able to replay the camera. (Live video the whole time)
Eventually get help from data science students to make mathematical equations to measure the difference between smiles and frowns.
For design documents, replicate what is existing in the GitHub. Can use what we have.
Can HP camera expert meet with us? Worked at HP Labs.
This software aims to address the gap between doctor visits and therapy visits. Most Americans only visit their doctors on average for 30 minutes per year.
SaaS – Software as a Service
We use six digit codes when the user logs in for security. Only on the backend, do we see the true data.
Virtual Reality Therapeutics are found to be 9 times more effective than just reading information. Cuts out all external stimuli.
The peak mind website is joinpeakmind.com.
## Things Clarified
We established a follow up meeting for design documentation with our client on Wednesday (10/12) at 5:00pm. We also need to email her regarding the dead code base repositories to gain access to updated/migrated code bases. We need to send an of approximate dates for check in meetings and iterations.
12 changes: 11 additions & 1 deletion Discovery/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
# Discovery

Discovery documents here. Explain each folder/file in this readme file.
## Minutes.md
Raw meeting minutes. Extensive meeting notes included, including business details, product details, and specifics for iterations.

## Screenshot.png
Screenshot from meeting on Zoom.

## Participants
Beethoven, Peter, Ethan, Tommy, Ryan, Alicia (Client)

## Note:
Drawings were ommited due to their presence in https://github.com/pfled/peak-visualization/tree/main. The client has instructed us to utilize existing design documentation in order to maintain consistency from previous groups.
Binary file added Discovery/Screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 42 additions & 0 deletions Documentation/Deployment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
Note: As of 2023-11-11, this document has not been modified from its previous form.

# Unity Application

1. From the Unity editor with the project open. Click **File** in the top left of the editor window then select **Build Settings...**
2. In the build setting window ensure that the `Scenes in build` table order is **Menu**, followed by **PeakVisualizationDashboard**, and finally **DataSave**.

![Unity Build Settings](./images/UnityBuildSettingsIteration3.png)

3. Press the build button. This is will open a prompt to choose where the build will be saved to. Go into the **Build** folder of the Unity project (this folder may not exist if you haven't run any builds before). While inside the **Build** folder create a new folder with whatever name you find most useful.

![Unity Build Folder](./images/UnityBuildFolder.png)

![Unity Build SubFolder](./images/UnityBuildSubFolder.png)

4. Once the build is finished It will open the folder that contains all of the build products. The **PeakVisualization** application will be the main executable for the application.

![Unity Build folder with executable](./images/UnityBuildExecutable.png)

# Web Application

## Frontend

- To build the web application, open terminal at the project directory.

- Then, run `npm run build` to create a build folder within the main directory.

![Build Folder](./images/WebBuild.png)

- Upload the build folder to a hosting service.

## Backend

- The backend is ready to run in a web server by running the shell script in the `bin/` folder: `bin/run.sh`.

- In the environment you will have to set the environment variable `ENV` variable to `production`. Currently there is no production configuration so you will have to create an appropriate one in the `backend/api/config.py` file because it currently only has a configuration for development and testing.

- The api is setup to run on the popular Python webserver flavor `Gunicorn`. so if that is not your preference for production you'll have to create a diffent setup for the api.

- You can just take the code in the `backend` directory and run the setup shell script on a web server running Gunicorn or in a container and put on a cloud hosting service. To route traffic you will likely need some sort of load balancer to route http or https traffick to port 8080 (or the port you configured) on the web server.

- When running the backend application on a webserver for the first time you will need to create the list of admins for the Peak Mind on the webserver it self. A custom Flask cli script was added to the backend so that admins can be created by running `flask create-admin --username --password`. If you are running the backend in a container service you will need to create a script to create these users otherwise you can connect to the web server via ssh to run this command whenever an Admin needs to be added.
Loading