Modular Phone App for Cardiac Arrest Detection built using TypeScript and React Native for Android.
CPEN 491 Team JY-41
Akash Randhawa, Emily Lukas, Gurman Toor, Sean Garvey, Stella Wang
CodeBlue
├── android/
├── assets/
├── codeblue-server/
├── docs/
├── src/app/
| ├── assets/
| ├── backgroundMode/
| ├── ble/
| ├── components/
| ├── constants/
| ├── emsCall/
| ├── localStorage/
| ├── navigation/
| ├── screens/
│ └── utils/
├── storybook/
├── App.tsx
├── index.js
├── env_vars.tsx
├── README.md
└── ...
- Start an AWS EC2 instance and clone the
codeblue-server
submodule repository onto the instance. - Follow instructions in
codeblue-server/README.md
to setup and run the server. - Follow the React Native development environment setup tutorial for React Native CLI, your development OS, and Android Target OS.
npm i # install app dependencies
npx react-native run-android # builds and runs android app on simulator or connected physical device
To run the components Storybook set the STORYBOOK_START
variable in ./App.tsx
to be true
. Then run:
npm run storybook # Start storybook server
in a new terminal
npx react-native run-android # Start emulator/ app
If needed, add any newly written stories by running
npm run prestorybook # Add any newly written stories
Notes:
- Might need to run
export NODE_OPTIONS=--openssl-legacy-provider
first if seeing adigital envelope routines::unsupported
error (MacOS) - Storybook also opens on the browser using an arbitrary local ip but it renders the components on the connected device/ emulator anyways so I would just close and ignore the browser
- update the corresponding
.stories
file if making changes to any component/screen - Set the
STORYBOOK_START
variable in./App.tsx
back tofalse
to run CodeBlue app
- manual
See /docs/
for Requirements Document, Design Document, Verification & Validation document, List of Deliverables, and poster pdf.
See /docs/design/
for a pdf of CodeBlue's design or view the Figma here: link
See /src/app/assets/CodeBlue_V3.mp4
for product video or visit link