Skip to content

blackducksoftware/ohloh-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5,548 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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.

About

Web Application for the OpenHub Stack.

Topics

Resources

License

Security policy

Stars

127 stars

Watchers

14 watching

Forks

Packages

 
 
 

Contributors