Git Product home page Git Product logo

bountysource-core's Introduction

Bountysource

Bountysource Build Status IRC Network

If you want to make Bountysource.com better, you've come to the right place.

Bountysource needs your help!

Bountysource is run by volunteers, so development activity can be sporadic (to put it nicely).

"How can I help?"

...with money

...with code

Developer Resources

Local Development Environment (OS X)

# dependencies
brew install rbenv
brew install mysql
brew install postgresql

# checkout latest code
git clone [email protected]:bountysource/core.git bountysource-core
cd bountysource-core

# make sure you're running ruby 2.4.3 (if not, mess with rbenv)
ruby -v

# install Gemfile
gem install bundler
bundle install

# setup ENV
cp .env.dev .env
rake db:setup

# start server
./bin/rails s
open http://localhost:3000/

Hostnames for local development

We need different hostnames, so by default we use these:

Alternatively, you can add entries to /etc/hosts and change the hostnames in your .env file:

127.0.0.1 www.bountysource.local api.bountysource.local salt.bountysource.local

Running tests

RAILS_ENV=test rake db:create
./bin/rake

Local Development Environment with Docker (deprecated)

For self-hosting, you will need Docker and Docker Compose.

The following was tested on Ubuntu 16.04 LTS. It'll likely work very similar on other Linux distros.

First tip, don't bother with the Docker or Docker Compose packages that your distro provides (too old, superseded).

Simply install from upstream. To install Docker, do

curl -sSL https://get.docker.com | sh

To run Docker without superuser rights (sudo):

sudo usermod -aG docker $USER

Then install Python virtualenv:

sudo apt-get install python-virtualenv

Create a new virtualenv and install Docker Compose into that:

virtualenv ~/docker-compose
source ~/docker-compose/bin/activate
pip install docker-compose

Here are the versions I get:

(cpy361_6) oberstet@thinkpad-t430s:~/scm/oberstet/bountysource_core$ docker --version
Docker version 17.05.0-ce, build 89658be
(cpy361_6) oberstet@thinkpad-t430s:~/scm/oberstet/bountysource_core$ docker-compose --version
docker-compose version 1.13.0, build 1719ceb

Now pull and build all required Docker images:

docker-compose -f docker-compose.yml build

Then start the Docker containers relevant for the service:

docker-compose -f docker-compose.yml up -d

This should start 3 Docker containers (Bountysource, PostgreSQL and Sphinx):

(cpy361_6) oberstet@thinkpad-t430s:~/scm/oberstet/bountysource_core$ docker ps
CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                    NAMES
04599623589b        bountysourcecore_bountysource   "rails s"                11 minutes ago      Up 11 minutes       0.0.0.0:3000->3000/tcp   bountysource
27157a0c1ec0        leodido/sphinxsearch:2.2.9      "searchd.sh"             11 minutes ago      Up 11 minutes       9306/tcp, 9312/tcp       sphinx
45c0202dd08b        postgres                        "docker-entrypoint..."   11 minutes ago      Up 11 minutes       5432/tcp                 pgsql

Then open http://localhost:3000 in your browser.

You should see the Bountysource start page, something like this.

Running the unit tests

To run the unit tests:

docker-compose -f docker-compose.yml -f tasks.yml up test

You should see something like this in the end:

(cpy361_6) oberstet@thinkpad-t430s:~/scm/3rdparty/bountysource_core$ docker-compose -f docker-compose.yml -f tasks.yml up test
Starting pgsql ...
Starting pgsql ... done
Starting sphinx ...
Starting sphinx ... done
Starting bountysourcecore_test_1 ...
Starting bountysourcecore_test_1 ... done
Attaching to bountysourcecore_test_1
test_1          |

.. lots of output (snipped) ..

test_1          | Finished in 2 minutes 48.5 seconds (files took 7.23 seconds to load)
test_1          | 1239 examples, 0 failures, 13 pending
test_1          |
bountysourcecore_test_1 exited with code 0

bountysource-core's People

Contributors

antenore avatar benhc123 avatar binaryfissiongames avatar censink- avatar david-in-perth avatar fommil avatar hjchan avatar hvardhanx avatar jalenong avatar juanj avatar kaiansaari avatar kazssym avatar kevinsia avatar navp4l avatar nicolasleger avatar oberstet avatar snipe avatar wkonkel avatar youjingwong 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.