💎 ♦️ Whitelabel Site for Ruby Communities
Ruby HTML CSS CoffeeScript Other
Latest commit 05f29aa Feb 24, 2017 @phoet committed on GitHub Merge pull request #238 from phoet/depfu/upgrade/formtastic-3.1.5
Upgrade formtastic to version 3.1.5
Permalink
Failed to load latest commit information.
app dont show wheelmap when not defiened Feb 23, 2017
bin try to run things without docker Jan 14, 2016
config Update whitelabel.yml Feb 21, 2017
db Rubocop (#222) Dec 30, 2016
lib/tasks generate data for all labels Oct 21, 2015
log added log directory, ignoring logs in there… Sep 13, 2012
media add better logo Sep 24, 2014
public update humans Jan 18, 2015
script try redis session as backend Feb 18, 2017
spec update some gems Feb 7, 2017
.gitattributes add .gitattributes for ruby aware diffs Aug 22, 2015
.gitignore
.pryrc use pryrc Jun 20, 2013
.rspec
.rubocop.yml Rubocop (#222) Dec 30, 2016
.travis.yml
Dockerfile update to ruby 2.3.0 Jan 11, 2016
Gemfile Upgrade formtastic to version 3.1.5 Feb 23, 2017
Gemfile.lock Upgrade formtastic to version 3.1.5 Feb 23, 2017
Procfile use puma Feb 18, 2015
Rakefile remove UTF8 magic comments Aug 7, 2013
app.json try redis session as backend Feb 18, 2017
config.ru remove all deps on hamburg Jun 12, 2012
docker-compose.yml allow local development env Dec 1, 2015
readme.md remove code-climate (#228) Jan 19, 2017

readme.md

OnRuby

Build Status

Status & Uptime

Get in touch in our Slack-Channel

Source for the Sites of the Ruby Communities

Installation

Using Docker

Install Docker and Docker Compose if you haven't already. Then:

docker-compose build
docker-compose up

script/in_docker bundle exec rake db:setup

sudo might be required for docker-compose if you run Docker local on Linux.

This creates three Docker containers: web for the application, box for storing rubygems installations and db for the postgres database.

The script/in_docker allows you to run commands inside the Docker container. Examples:

script/in_docker bundle exec rspec spec/requests/labels_spec.rb

Access via http://www.onruby.dev:5000

Local installation

On your machine

Install Postgresql

# install Postgres on Mac OS X
brew install postgresql
# or on Ubuntu
sudo apt-get install postgresql postgresql-contrib

# check if it's running
psql postgres # exit with \q

# create user and database
createuser -Ps postgres
rake db:setup

Use script/server to run rails locally, otherwise you need to export the environment options yourself:

bundle --without=production
script/server

Hosts

For working with the whitelabel functionality, you need to add all supported subdomains to your /etc/hosts :

127.0.0.1    www.onruby.dev hamburg.onruby.dev cologne.onruby.dev saar.onruby.dev
127.0.0.1    berlin.onruby.dev karlsruhe.onruby.dev leipzig.onruby.dev dresden.onruby.dev
127.0.0.1    railsgirlshh.onruby.dev bonn.onruby.dev madridrb.onruby.dev munich.onruby.dev

Access via http://www.onruby.dev:5000

Test-Data

You don't need any to setup a new project!

If you want to have some kind of seed, than generate some test-data:

rake data:create

If you are a heroku project admin, you can dump Data from Heroku via Taps Gem:

heroku pg:pull HEROKU_POSTGRESQL_MAROON_URL onruby_development

THE GUIDE TO YOUR RUG

There are just a couple of steps for your Ruby Usergroup Site to get alive:

  • fork this repo
  • run bundle && bundle exec rake fork:usergroup[MyUsergroup]
  • create pull request
  • lean back and wait :)

If you have a custom domain, you need to setup the CNAME of your domain to point to heroku.

On the admin-site we need to:

  • heroku domains:add xyz.onruby.de [custom.de]
  • create new GitHub app for that domain and add keys via heroku config:add
  • merge the pull
  • deploy to heroku
  • add admin privileges to someone for the new RUG

Website

OnRuby Website

Admin Interface

The app comes with an Typus interface to manage the model data. In order to access the admin stuff, you need to be a registered user with the "admin role". Typus is mounted under /admin of your label, so it's http://hamburg.onruby.de/admin for Hamburg.

Stuff to manage (CRUD)

  • Users
  • Events
    • Materials
  • Locations / Companies (Companies are just special Locations)
  • Topics (Stuff that user can demand/propose)
  • Jobs (The Display on top of the Page)
  • Highlights (Special infos, that you want to display for a short period of time)

License

"THE (extended) BEER-WARE LICENSE" (Revision 42.0815): phoet contributed to this project.

As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me some beers in return.