GithubHelp home page GithubHelp logo

awesome-archive / scirate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scirate/scirate

0.0 1.0 0.0 3.82 MB

An open peer review site for arXiv preprints

Home Page: https://scirate.com

License: MIT License

Ruby 72.74% JavaScript 0.32% CoffeeScript 6.34% HTML 15.77% CSS 4.83%

scirate's Introduction

SciRate

Build Status Coverage Status

SciRate is an open source rating and commenting system for arXiv preprints. Papers are upvoted and discussed by the community, and we sometimes play host to more in depth peer review.

Bug reports and feature requests should be submitted as GitHub issues.

Setting up for development

SciRate runs on Ubuntu 14.04 in production. Development in other environments is possible, but this guide will assume you are running some variant of Debian.

We currently use Ruby 2.2.1 and Rails 4.2. To install this version of Ruby and RVM:

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
\curl -sSL https://get.rvm.io | bash -s stable --ruby=2.2.1
rvm use 2.2.1 --default

You will also need some native packages:

sudo apt-get install git postgresql libpq-dev libxml2-dev libxslt-dev nodejs libodbc1 libqt4-dev openjdk-6-jre libqt5webkit5-dev

Our backend depends on Elasticsearch to sort through all the papers:

wget -O /tmp/elasticsearch.deb https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.5.1.deb
sudo dpkg -i /tmp/elasticsearch.deb
sudo update-rc.d elasticsearch defaults 95 10
sudo service elasticsearch start

Finally, clone the repository and install the Ruby gem dependencies:

git clone [email protected]:scirate/scirate
cd scirate
bundle install

SciRate is now set up for development! However, you'll also want a database with papers to fiddle with.

Setting up the database

If you've just installed postgres, it'll be easiest to use the default 'peer' authentication method. Create a postgres role for your user account:

sudo -u postgres createuser --superuser $USER

Copy the example database configuration file (:

cp config/database.yml.example config/database.yml

If using peer authentication, you won't need to edit this file.

Then:

rake db:setup
rake es:migrate
rake arxiv:feed_import
rails server

This will initialize the database and Elasticsearch, download the basic feed layout, and start the server.

Populating the database

rake arxiv:oai_update

When run for the first time, this will download and index paper metadata from the last day. Subsequent calls will download all metadata since the last time. The production server runs this task every day to keep the database in sync.

Testing

There is a fairly comprehensive series of unit and integration tests in spec. Running rspec in the top-level directory will attempt all of them.

Acknowledgements

scirate's People

Contributors

adamcw avatar arrayjam avatar bentoner avatar cgranade avatar cschaffner avatar dabacon avatar harrow avatar kiaragrouwstra avatar marwahaha avatar rosgen avatar silky 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.