marten / Panoptes

It sees everything

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Panoptes Build Status

The new Zooniverse API for supporting user-created projects.

Documentation

The Panoptes public API is documented here, using apiary.io.

If you're interested in how Panoptes is implemented check out the wiki.

Requirements

Panoptes is primarily developed against stable MRI, currently 2.2.1. It is tested against the following versions:

  • JRuby 1.7.18
  • 2.2.1

If you're running MRI Ruby you'll need to have the MySQL and Postgresql client libraries installed.

  • Ubuntu/Debian: apt-get install libpq-dev libmysqlclient
  • OS X (with homebrew): brew install mysql postgresql

You'll need to have the following services running:

Optionally you can run

Installation

We only support running Panoptes via Docker and Docker Compose. If you'd like to run it outside a container, see the above Requirements sections to get started.

It's possible to run Panoptes only having to install the fig_rake gem. Alternatives to various rake tasks are presented.

Setup Docker and Docker Compose

Usage

  1. Clone the repository git clone https://github.com/zooniverse/Panoptes.

  2. cd into the cloned folder. Run either bundle install or gem install fig_rake

  3. Setup the application configuration files

  • If your system has rename installed: rename 's/\.yml.hudson$/\.yml/' config/*.yml.hudson
  • Otherwise in a bash prompt run: find config/*.yml.hudson -exec bash -c 'for x; do x=${x#./}; cp -i "$x" "${x/.hudson/}"; done' _ {} +
  1. Setup the development Dockerfile
  • If you ran bundle install: rake configure:dev_docker
  • If you did not: cp dockerfiles/Dockerfile.dev Dockerfile
  1. Create and run the application containers by running docker-compose up

  2. After step 5 finishes, open a new terminal and run frake db:create db:migrate to setup the database

  3. To seed the development database with an Admin user and a Doorkeeper client application for API access run frails runner db/fig_dev_seed_data/fig_dev_seed_data.rb

This will get you a working copy of the checked out code base. Keep your code up to date and rebuild the image if needed!

If you've added new gems you'll need to rebuild the docker image by running docker-compose build.

Contributing

Thanks a bunch for wanting to help Zooniverse. Here are few quick guidelines to start working on our project:

  1. Fork the Project on Github.
  2. Clone the code and follow one of the above guides to setup a dev environment.
  3. Create a new git branch and make your changes.
  4. Make sure the tests still pass by running bundle exec rspec.
  5. Add tests if you introduced new functionality.
  6. Commit your changes. Try to make your commit message informative, but we're not sticklers about it. Do try to to add Closes #issue or Fixes #issue somewhere in your message if it's addressing a specific open issue.
  7. Submit a Pull Request
  8. Wait for feedback or a merge!

Your Pull Request will run on travis-ci, and we'll probably wait for it to pass on MRI Ruby 2.2.1 and JRuby 1.7.18 before we take a look at it.

License

Copyright 2014-2015 by the Zooniverse

Distributed under the Apache Public License v2. See LICENSE

About

It sees everything

License:Apache License 2.0


Languages

Language:Ruby 79.7%Language:API Blueprint 18.0%Language:HTML 2.2%Language:CSS 0.1%Language:JavaScript 0.1%Language:Shell 0.1%