Skip to content

blackducksoftware/ohloh-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

OhlohUI

A Ruby on Rails application for the Open Hub platform.

πŸ“‹ Table of Contents

πŸ”§ Prerequisites

Before you begin, ensure you have the following installed:

  • Ruby: 3.1.7 (use rbenv or rvm)
  • Rails: 6.1.7.10
  • PostgreSQL: Latest stable version

System-Specific Requirements

macOS

brew install postgresql
brew services start postgresql

Ubuntu/Debian

sudo apt-get update
sudo apt-get install postgresql postgresql-contrib libpq-dev

Install Ruby version manager (rbenv)

brew install rbenv
rbenv install 3.1.7
rbenv global 3.1.7

πŸš€ Getting Started

1. Clone the Repository

git clone git@github.com:blackducksoftware/ohloh-ui.git
cd ohloh-ui

2. Install Dependencies

gem install bundler
bundle install

πŸ’Ύ Database Setup

1. Configure Environment Variables

Create a file named .env.development in the project root with the following content:

DB_ENCODING=UTF-8
DB_HOST=localhost
DB_NAME=oh_db
DB_USERNAME=fis_user
DB_PASSWORD=fis_password

TEST_DB_HOST=localhost
TEST_DB_NAME=oh_test
TEST_DB_USERNAME=fis_user
TEST_DB_PASSWORD=fis_password

2. Create PostgreSQL User

psql postgres

In PostgreSQL prompt:

CREATE USER fis_user WITH PASSWORD 'fis_password';
ALTER USER fis_user WITH SUPERUSER;

Note: The default DB encoding was set to SQL_ASCII for legacy data compatibility. UTF-8 encoding is recommended for new data.

2. Create and Setup Databases

rails db:create
rake db:structure:load
rake db:migrate

Note: You may see errors about existing relations and constraints. These can be safely ignored.

3. Setup Admin User

Create a default admin user (arguments are optional):

ruby script/setup_default_admin.rb <login> <password> <email>

Default credentials if no arguments provided:

  • Login: admin_user
  • Password: admin_password
  • Email: admin@example.com

▢️ Running the Application

Start the Rails server:

rails s

Visit http://localhost:3000 to view the application.

πŸ§ͺ Testing

Unit & Integration Tests

Run the full test suite:

$ rake test

Run a single test file:

$ rake test test/models/account_test.rb

Run a directory of tests:

$ rake test test/models

πŸ”„ Pull Request Checks

Pre Pull Request Checks

The CI pipeline runs the following checks on all pull requests:

rake ci:all_tasks

This includes:

  • rubocop - Ruby style linting
  • bundle audit - Dependency vulnerability checking
  • rake test - Ruby unit tests

Post Pull Request Checks

After all the successful checks, CI pipeline will have success message like All checks has been passed.

🀝 Contributing

  1. Create a feature branch from main
  2. Make your changes
  3. Run rake ci:all_tasks to ensure all checks pass
  4. Submit a pull request

πŸ“ License

See LICENSE file for details.

πŸ”’ Security

For security concerns, please refer to security.md.