Coder Social home page Coder Social logo

bamtak / baobab Goto Github PK

View Code? Open in Web Editor NEW

This project forked from deep-learning-indaba/baobab

0.0 1.0 0.0 4.31 MB

Deep Learning Indaba applications and selection web-app.

License: Apache License 2.0

Dockerfile 0.07% Python 61.58% Mako 0.05% HTML 0.61% CSS 1.33% JavaScript 36.25% Shell 0.12%

baobab's Introduction

Baobab

Deep Learning Indaba applications and selection web application.

Structure

  • api/ contains the flask-based web api
  • webapp/ contains the react front-end

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Tasks

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.

Technology Stack

Backend

Frontend

Continuous Integration We are using CircleCI to build, test and deploy the project.

You don't need to be familar with all of these technologies to work on the project. We've tried to make the application decoupled, especially the front-end and back-end. If you want to work on a front-end task, you need to know a little Javascript, ReactJS and Bootstrap, but don't need to know anything about Flask/SQLAlchemy etc!

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:

docker-compose build

docker-compose up

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)

  1. 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!)
  1. Ensure that docker is running on your machine by running docker run hello-world

  2. Clone (copy to your local machine) the repository using the command: git clone https://github.com/deep-learning-indaba/Baobab.git

  3. Navigate to the Baobab folder (cd Baobab)

  4. 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!

  5. 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)

  6. 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

Troubleshooting

Common errors you may get when running the docker-compose build or docker-compose up commands.

Error Resolution
Error about "apt-get update -qq" failing Run curl -sSL https://get.docker.com/ | sh and then rerun the docker-compose build command.
driver failed programming external connectivity on endpoint This is a common issue on Windows 10, try stopping all docker containers with docker stop $(docker ps -a -q) then restart docker on your machine and try again. See here for more information
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) - vi run.py, type :set ff=unix and save and edit :wq.

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

Acknowledgments

  • TBC.

baobab's People

Contributors

amritpurshotam avatar arunavkonwar avatar avishkar58 avatar bamtak avatar carvalho96v2 avatar danielamassiceti avatar dependabot[bot] avatar donnestevenson avatar emmanueltobi avatar greg-newman avatar hbarnardt avatar ilzelourens avatar kaleabtessera avatar lindanyretrorabbit avatar mthembbu avatar nischalhp avatar soginga avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.