Skip to content

BrokenImage/raptor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues


Sonomaly Prediction API

The API backend for the Sonomaly frontend website
Explore the docs »

View Demo · Report Bug · Request Feature

Live

Visit this link http://raptor-app.raptorapps.com/

Table of Contents

About The Project

Sonomaly is a capstone project for the Raptor Maps Student team that was formed from the collaboration of Raptor Maps and make School. This repo is for the backend of that application that aims to be a full production level machine learning pipline that inclues continual learning/development and a model registry.

Here's why:

  • Machine learning in production is a new feild and is something that data scientist need to learn
  • Being able to understand industy standards for deployment to production is important

This is only one part of this project and you should look at the other parts on the team organization.

Built With

Getting Started

Lets get into setting this up for yourself.

Installation

To run on machine locally

Set up React

Must have Node.js installed. From root directory, type

cd front-end
npm install 
npm run build
Set up Flask server

Must have virtualenv python package installed. From root directory, type

cd back-end
virtualenv env 
source env/bin/activate
pip install -r requirements.txt
python app.py

Go to http://localhost:5000 to try out the API.

To run on Docker

  1. Install Docker following the instructions here
  2. Clone the repo
git clone https://github.com/BrokenImage/raptor-api.git
  1. Create a production build of the frontend (this will build the frontend into the back-end static folder)
cd front-end
npm install
npm run build
  1. Start and build the Docker container
docker-compose up [--build if you're activly making changes]

Deployment

  1. Follow the Installation guide above.
  2. Generally, follow this guide to setup caprover on an Ubuntu 18 server hosted by the cloud service of your choice. (we used DigitalOcean)
  3. Create a new app on your caprover server with the name of your choice.
  4. Add enviroment variables needed for the API to run, creating the realted resouces following standard guidelines
AWS_ACCESS_KEY_ID=
AWS_SECRET_KEY=
AWS_BUCKET_NAME=
MONGO_CLIENT_URL=
  1. Compress the backend into a .tar file (mac os command)
tar -czf back-end.tar back-end/
  1. Upload the file to the caprover app you created earlier.
  2. Make sure the build is successful on the caprover deployment logs
  3. Go to the url you deployed during caprover's setup, you should see the react front-end for the application

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

About

Image ML processing and web app for broken solar panels

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published