Git Product home page Git Product logo

crowdsource-platform's Introduction

Crowdsource Platform - Crowdresearch HCI Stanford

Build Status

This is a Django 1.8 app using a Postgres database that can be deployed to Heroku.

Setup

If you are on Windows or encounter issues with these instructions, please try the instructions in the Setup with Vagrant section.

Install Postgres and create a new database:

bash> psql
psql> CREATE DATABASE crowdsource_dev ENCODING 'UTF8';

Create a local_settings.py file in the project root folder and configure it to connect to the Postgres database:

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql_psycopg2",
        "NAME": "crowdsource_dev"
    }
}

Source the virtual environment, install dependencies, and migrate the database:

bash> source venv/bin/activate
bash> pip install -r requirements.txt
bash> python manage.py makemigrations oauth2_provider
bash> python manage.py migrate
bash> python manage.py makemigrations
bash> python manage.py migrate

#users who do not have migrations please run the following commands
bash> python manage.py makemigrations crowdsourcing
bash> python manage.py migrate --fake-initial

bash>brew install node  #use other ways if you don't have brew
bash>npm install -g bower
bash>bower install
bash>cd staticfiles

If you encounter an error angular-route.js 404, do this:

bash> bower cache clean
bash> rm -fr staticfiles/bower_components
bash> bower install

If there are no errors, you are ready to run the app from your local server:

bash> python manage.py runserver

Where can I get data:

  1. Current file: following data supports tasksearch, task,ranking

    bash> python manage.py loaddata fixtures/neilTaskRankingData.json

OPTIONAL 2) Ranking Dataset (>800 records already included in #1)

bash> python manage.py loaddata fixtures/neilCrowdsourcingRankingData.json
  1. Optional to dump data from environment to the file bash> python manage.py dumpdata crowdsourcing > fixtures/neilCrowdsourcingRankingData.json

  2. How to generate data dynamically with autofixture

    bash> python manage.py loadtestdata AppName.Model:NUMBER OF RECORDS
    Example: bash> python manage.py loadtestdata crowdsourcing.UserCountry:15

User Interface:
Alt text Alt text

Setup with Vagrant

This approach might be useful if you're on Windows or have trouble setting up postgres, python, nodejs, git, etc. It will run the server in a virtual machine.

First install Virtualbox Vagrant and Git

Clone this repo to get the code:

git clone https://github.com/crowdresearch/crowdsource-platform.git
cd crowdsource-platform

Then run the command:

vagrant up

This will set up an Ubuntu VM, install prerequisites, create databases, and start the machine. Then run:

vagrant ssh

This will now give you a shell in your virtual machine. It will automatically cd to /home/vagrant/crowdsource-platform where the code is (this is a shared folder with the host machine)

Now you can run the server:

python manage.py runserver [::]:8000

And you can visit the website by going to http://localhost:8000 in your web browser.

On subsequent runs, you only need to run:

vagrant up
vagrant ssh
python manage.py runserver [::]:8000

crowdsource-platform's People

Contributors

agarwal22megha avatar dmorina avatar dvmbfairy avatar elsabakiu avatar gkovacs avatar gwintrob avatar jasonou-oldaccount avatar kirmani avatar ksetyadi avatar leek20 avatar macbull avatar neilthemathguy avatar pemmasanikrishna avatar profgs avatar rns4731 avatar shirishgoyal avatar srxzr avatar thehereticdruid avatar vvt221 avatar

Stargazers

 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.