Giter VIP home page Giter VIP logo

geodiver's Introduction

GeoDiver

Build Status Scrutinizer Code Quality

Introduction

GeoDiver is a web app that allows users to easily analyse GEO datasets.

Installation

Feel free to give us a shout on the github issues, if you would like more help than that below.

Installation Requirements

Google API Setup

In order to use the Google Login System (recommended), you need register with Google API to recieve a key and secret key (don't forget to keep your secret key a secret!)

  1. Go to 'https://console.developers.google.com'
  2. Select your project or create a new one (in the top left hand corner).
  3. Click on the menu button on the top left, and click on 'API Manager'.
  4. Click on 'Library' in the left side bar.
  5. In the search bar, type in "Contacts API" and then "Google+ API".
  6. When it is shown, click on the API name and then select 'Enable'.
  7. Once enabled, go back to the previous screen and search for the second API.
  8. After, enabling both APIs, click on 'Credentials' in the side bar.
  9. Next select the "OAuth consent screen" tab on top, and provide an 'EMAIL ADDRESS' and a 'PRODUCT NAME'
  10. Press 'Save' (This may automatically take you to step 12)
  11. Next select the 'Credentials' tab on top and click on 'Create Credentials' and then 'OAuth Client ID'.
  12. Under Application type, select 'Web Application'
  13. Select a name for your application (e.g. GeoDiver)
  14. Under Authorised Javscript origins, add 'http://localhost:9292' (and other domain name you wish to use)
  15. Next, under Authorised redirect URIs add 'http://localhost:9292/auth/google_oauth2/callback'.
  16. Copy Client ID and Client Secret.

GeoDiver Installation

Simply run the following command in the terminal.

# Clone the repository.
git clone https://github.com/GeoDiver/GEODiver

# Move into GeoDiver source directory.
cd GEODiver

# Install R dependencies & Build and install the latest version of the webapp.
rake install 

# Start the web app
# Make sure you replace $CLIENTID and $CLIENTSECRET with the actual values that you copied above.
passenger start --envvar GOOGLE_KEY=$CLIENTID --envvar GOOGLE_SECRET=$CLIENTSECRET -p 9292 -e production --sticky-sessions -d
Running From Source (Not Recommended)

It is also possible to run from source. However, this is not recommended.

# After cloning the web app and moving into the source directory 
# Install bundler
gem install bundler

# Use bundler to install dependencies
bundle install

# Optional: run tests and build the gem from source
bundle exec rake

# Run GeoDiver
bundle exec passenger start -h
# note that `bundle exec` executes GeoDiver in the context of the bundle

# Alternatively run Geodiver using the command line interface
bundle exec geodiver -h

Launch GeoDiver

To configure and launch Geodiver, run the following from a command line from the GeoDiver root folder.

bundle exec passenger start -h

That's it! Open http://localhost:9292/ and start using GeoDiver!

Advanced Usage

See $ passenger start -h for more information on all the options available when running GeoDiver.

Config file

A Config file can be used to specify arguments - the default location of this file is in the home directory at ~/.geodiver.conf. An examplar of the config file can be seen below.

---
:num_threads: 8
:port: '9292'
:host: 0.0.0.0
:gd_public_dir: "/Users/ismailm/.geodiver"
:devel: true

This program was developed at QMUL as part of the Bioinformatics Masters Course.

geodiver's People

Contributors

ismailm avatar nazrath10r avatar bmpvieira avatar

Watchers

James Cloos avatar Alexis 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.