Deep Learning Indaba applications and selection web application.
api/contains the flask-based web api
webapp/contains the react front-end
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Tasks are being managed in the Issues and Projects tabs. If you want to work on a particular issue, please assign yourself to it. Each issue should include a "definition of done" checklist that should be met before submitting a pull request to merge into the develop branch.
Continuous Integration We are using CircleCI to build, test and deploy the project.
Running with Docker
We are using Docker which means you don't need to install any of the dependencies on your local machine (except for docker itself). If you are already familiar with Docker and the technologies listed above, you can clone the repository to you local machine and bring up the database, back-end and front-end together with:
The front-end will then be available at localhost:8080 and the backend API at localhost:5000
If you are not familiar with this style of development, here is a more detailed description:
Getting Started (Detailed)
- Make sure you have the following installed on your machine:
- Git: Windows, Mac. (Linux users should install using their system's package manager)
- Docker: Windows, Mac, Linux (ensure you have the latest version!)
Ensure that docker is running on your machine by running
docker run hello-world
Clone (copy to your local machine) the repository using the command:
git clone https://github.com/deep-learning-indaba/Baobab.git
Navigate to the Baobab folder (
Build the containers using
docker-compose build- this will build the front-end, back-end and database together. It will take a fair bit of time the first time you do it, subsequently it will be much faster. If you get any errors, check the troubleshooting section below. If you get any other errors at this step, please get in touch!
Launch the containers using
docker-compose up- you should see messages like "Starting baobab_webapp_1 ... done". You can then navigate to the application in your browser at
http://localhost:8080. The back-end API can be found at
http://localhost:5000(note, you won't see anything if you navigate to localhost:5000 in your browser)
The first time you run the app, you may need to run the migrations to ensure that all the tables are created in the database. While the app is running (after following the previous step), run the following in another terminal/command prompt:
docker-compose run web python ./api/run.py db upgrade --directory api/migrations
Common errors you may get when running the
docker-compose build or
docker-compose up commands.
|Error about "apt-get update -qq" failing||Run
|driver failed programming external connectivity on endpoint||This is a common issue on Windows 10, try stopping all docker containers with
|Windows Docker-Compose Error /usr/bin/env: ‘python\r’: No such file or directory||Open run.py in vi or vim (access through git bash) -
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.