rubysg/rubysg-reboot

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# Ruby.sg

![Build Status](https://github.com/rubysg/rubysg-reboot/actions/workflows/ci.yml/badge.svg) [![Code Climate](https://codeclimate.com/github/rubysg/rubysg-reboot.svg)](https://codeclimate.com/github/rubysg/rubysg-reboot)

This is the source code base for [ruby.sg](http://ruby.sg) - a website for the Singapore Ruby Community!

## Contributing to ruby.sg

ruby.sg needs your help and we would love to see contributions from anyone in the community.

Please refer to the [GitHub Issues](https://github.com/rubysg/rubysg-reboot/issues) for details on features/bugs/chores that you can help with.

You can also raise feature requests, or bug reports on GitHub Issues.

The initial design of ruby.sg was done by @winstonyw who is not a designer by training. :)

## Singapore Companies using Ruby

If your company/organisation is using Ruby, and/or hiring for Ruby-related positions, please add your company information to [ruby.sg/companies](http://ruby.sg#companies) by editing [db/data/companies.yml](https://github.com/rubysg/rubysg-reboot/blob/master/db/data/companies.yml).

Hiring and contact links will be checked and refreshed periodically, to minimise stale information. Companies with more recently updated information will also be shown earlier in the list

*To recognize and further show our appreciation for companies that have actively contributed to the RubySG community (via sponsoring meetups and/or providing speakers), they will be prioritised and shown in an earlier section of the page*

Company Information:

1. Name of Company
2. Website of Company
3. Logo URL (max height 100px)
    - Tip: Create a Pull Request on GitHub, add your logo to the PR's description and use the image URL generated by GitHub
4. Address of Company
5. Hiring URL
    - Please put the direct link to the job description / hiring page. Otherwise, set as `nil`
6. Email
    - Company hiring/contact email address

Notes:

- Use single quotes
- Align hash values so that it's easier to scan

After you are done, please run specs with `rspec`.

There are basic specs that validate the integrity of of the company list
and so if specs fail, please fix the errors before issuing a Pull Request.

## Setup of Development Environment

### .env

You'll need to have a `.env` file ready in your app directory with the following keys:

```
RUBY_SG_BOT_TOKEN
```

Read this blog post for more details: https://levels.io/slack-typeform-auto-invite-sign-ups/

### Postgres

The easiest way to get it working on a Mac is with http://postgresapp.com/.

### bin/setup

Run `bin/setup` to install Gems and also setup your database.

### Run Specs

Run `spring rspec`.

## Workflow

Fork the app, checkout a branch, work on a feature/bug/chore and submit it as a Pull Request.

### Core Contributors

I'll be adding folks as core contributors to the repo too when you chalk up enough contributions.

As a core contributor, you'll get access to the repo and can help with review/management of PRs.
You'll also be listed in this readme as a core contributor and get deployment rights in the future.

### Voluntary Contributors

Just start writing code (with tests if possible). Make a Pull Request when you are done.

Help with typos, design tweaks etc! The core contributors will review and merge in your PRs.

## Testing

All features/bug fixes should come with tests. We're using RSpec.

To run tests, just run `rake` or `rspec` on console.

## Deployment

The app is currently deployed on Heroku. No fuss. No thrills.

## Questions

Please feel free to email hello@ruby.sg.