README.md
# 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.