
This app is intended for health care professionals, to aid in their understanding of the cultural norms of their patients
- MongoDB
- Python-Flask
- Node
- React-Native
Amazon Linux 2 free-tier image running gunicorn and nginx services. Contact @freeman91 for ssh credentials.
Gunicorn (Green Unicorn) is a Python WSGI HTTP Server for UNIX.
Using NginX as a HTTP and reverse proxy server, routing HTTP and HTTPS traffic to gunicorn through a socket file.
Listening for http/s requests on www.osumc-cultural-awareness.com.
Utlizing Github Pages to deploy a web build of the React Native application.
Live React Native App
To set up a development environment follow these simple steps.
install the following packages
- Docker
- python 3.8
- node
- expo-cli
- mongo(optional)
- Clone this repo
- In app root, create .env file with the following contents. Get secrets from another dev.
FLASK_ENV=development
FLASK_APP=api/__main__.py
FRONTEND_URL=http://localhost:19006/
# MONGO_URI not required for the app in dev
MONGO_URI=mongodb+srv://admin:<password>@data-cluster.tjzlp.mongodb.net/database?retryWrites=true&w=majority
MONGO_INITDB_DATABASE=database
MONGO_INITDB_ROOT_USERNAME=admin
MONGO_INITDB_ROOT_PASSWORD=<password>
MONGO_IP=172.19.199.3
MONGO_PORT=27017
# SECRET_KEY randomly generate, MUST be secure
SECRET_KEY=this-is-a-secret-key-keep-it-secret
[email protected]
GMAIL_PASSWORD=<password>
- Install yarn packages
yarn install
- Build backend docker containers
# build db and api containers
docker-compose up -d --build
# restore your local db from the backup file
script/restore_dev_db.sh
# if db exists, might need to drop the old db before restoring
rm -rf mongo_voume/
# all container logs
docker-compose logs -f --tail=100
# Stop containers
docker-compose down
After building, api service is up and running on localhost:5000.
- Start Expo, React Native service
yarn start
- run python tests
pipenv shell
python -m pytest
.github/workflows/deploy.yml
is automatically deploying the frontend and the backend to their respective environments. If either of those fail, you may need to deploy manually.
This will deploy the latest master, if you want to deploy another branch, follow these instructions.
script/deploy_production_server.sh /path/to/key
yarn deploy
- Addison Freeman, @freeman91
- Nick Lamanna
- Adam Claus
- Nick Hackman