Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/blackducksoftware/ohloh-ui

Web Application for the OpenHub Stack.
https://github.com/blackducksoftware/ohloh-ui

analysis database ohloh oss ror ruby ruby-on-rails ui

Last synced: 3 days ago
JSON representation

Web Application for the OpenHub Stack.

Awesome Lists containing this project

README

        

OhlohUI
=======

Dependencies:
----------------

* OhlohUI uses the ruby version 2.5.3. Please install ruby '> 2.5'.
* OhlohUI uses the postgresql database. Please install postgresql and create a new user on it.

Getting Started:
----------------

```
$ git clone [email protected]:blackducksoftware/ohloh-ui.git
$ cd ohloh-ui
$ gem install bundler
$ bundle install
```

The OhlohUI data is split between two databases in production. The development setup needs to reflect the same.
The database names are configured in a file specific to each environment. For development, create a file **env.development**, with the following contents.

```
DB_ENCODING = 'UTF-8'

DB_HOST = localhost
DB_NAME =
DB_USERNAME =
DB_PASSWORD =
```

The default DB encoding was set to SQL_ASCII to support data encoded by older ruby. For new data, the UTF-8 encoding should work fine. The *_USERNAME and *_PASSWORD entries need to reflect the user created in postgresql. The *DB_NAME entries should be new database names. These will be created during our setup.

```
$ rake db:create
$ rake db:structure:load
$ rake db:second_base:structure:load
```

This might throw a bunch of errors about relations and constraints already existing. Please ignore them and proceed.

Setup a default admin user. The arguments are optional. By default a user with the login **admin_user**, password **admin_password** and email **[email protected]** will be created.

```
$ ruby script/setup_default_admin.rb
```

```
$ rails s
```

Visit **localhost:3000** to checkout the site.

Tests:
--------------------

Add the following to the **.env.development** file. Fill in the blank values appropriately. Modify **.env.test** to reflect the values that were added here.

```
TEST_DB_HOST = localhost
TEST_DB_NAME =
TEST_DB_USERNAME =
TEST_DB_PASSWORD =
```

Then run the following:

```
$ rake db:test:prepare
$ rake test
```

Integration Tests:
--------------------

The following packages need to be installed to make the feature specs work:

#### Mac OSX

```sh
$ brew install brew-cask
$ brew cask install google-chrome
$ brew install chromedriver
```

#### Ubuntu 18.04

```sh
$ sudo apt-get install chromium-browser
$ sudo apt-get install chromium-chromedriver
$ sudo ln -s /usr/lib/chromium-browser/chromedriver /usr/bin/chromedriver
```

### Recording/fixing VCR cassettes for Fisbot API:

Define an alias for vcr.localhost.org in `/etc/hosts`:
```sh
127.0.0.1 vcrlocalhost.org
```

Start the fisbot server(test environment) at localhost:4004.
Manually clean the fisbot tables after each recording.

Pull Request Builder:
--------------------

The OhlohUI CI uses the following task to verify PR compatibility.

```
$ rake ci:all_tasks
```

This runs:
* rubocop
* haml-lint
* brakeman
* bundle audit
* teaspoon
* rake test
* spinach