- Clone the repository
git clone git@github.com:goelbenj/ClassCompass.git
- Install docker and docker-compose on your machine
- Initialize
FLASK_PORT
environment variable to be the port the flask container should bind. For exampleexport FLASK_PORT=7001
. By Default,FLASK_PORT=5001
will be used. - Initialize
REACT_PORT
environment variable to be the port the react container should bind. For exampleexport REACT_PORT=7002
. By Default,REACT_PORT=5002
will be used.- (Optional) to expose the flask-server and Metro frontend bundler on your local network, initialize
the
HOSTNAME
environment variable to be your host machine's private IP address. For example,export HOSTNAME=10.123.45.67
. By default,HOSTNAME=localhost
will be used.
- (Optional) to expose the flask-server and Metro frontend bundler on your local network, initialize
the
- Run
bash dev.sh build
from the root of the repository to build the development images - Run
bash dev.sh up
from the root of the repository to attach to the development container- To only build the flask-server and react-native application run
bash dev.sh build flask-server
andbash dev.sh build react-app
respectively
- To only build the flask-server and react-native application run
- The flask server should be running in the docker container on port 7001 and the react native application should be running in the development environment with expo on port 7002
- Bring down the container(s) with
bash dev.sh down
We are using Notion to perform project management, however, it is a private project which cannot be shared
.
├── flask-server/ # flask server project
│ ├── src/ # source for server files
│ ├── test/ # test
│ ├── .gitignore # gitignore file for server
│ ├── pyproject.toml # python configuration of flask_server module
│ └── README.md # installation and scripting instructions
├── frontend/ # react application project
│ ├── assets/ # static application assets
│ ├── src/ # source for react app files
│ ├── .gitignore # gitignore file for react app
│ ├── App.js # main application file
│ ├── app.json # app configuration
│ ├── babel.config.json # transpiler configuration
│ ├── package-lock.json # dependency tree
│ ├── package.json # dependency configuration
└── CODE_OF_CONDUCT.MD # code of conduct
└── CONTRIBUTION.MD # rules for contribution
└── README.MD # repository information
If you want to make a contribution, please follow the next steps:
- Fork the Project
- Create your Feature Branch from
develop
(git checkout -b feature/AmazingFeature) - Commit your Changes (git commit -m '(): ')
- Push the Branch (git push origin feature/AmazingFeature)
- Open a Pull Request to be merged into
develop
, do not targetmain
Releases are to be created by merging develop
into main
, main
will then be used to create a release