Code Monkey home page Code Monkey logo

bridge_troll's Introduction

Bridge Troll

ย  Build Status

Bridge Troll is a Rails app that helps RailsBridge workshop organizers plan their events.

Bridge Troll aims to provide a single site for Students and Volunteers to register for workshops, so that Organizers have as much information as possible in one place to help them plan their workshop. Organizers will be able to easily contact attendees before a workshop, sort students and volunteers into classes on the workshop day, and provide follow-up surveys afterward.

We have something of a roadmap here.

New? Keep reading this, and then head to the wiki to read the contributor guidelines.

Where is it?

Features & Bugs

Want to help out?

Join the google group and send a quick note introducing yourself.

Then, have a look at our feature backlog. Pick a feature to work on, fork the project, code some code, and send a really good pull request. Not sure what to do? Ask the google group for advice!

Setting up for development

You'll need a version manager for Ruby. We recommend rvm, but rbenv will work.

Quickstart

Note: change git clone below to be your repo.

git clone [email protected]:yourname/bridge_troll
cd bridge_troll
script/bootstrap
rails s

Go to http://localhost:3000/ and you can play with the app. (Pro-tip: to create a valid user without setting up email, run User.last.confirm! in the Rails console after signing up.)

Running tests

You will need to install phantomjs for tests to run successfully. On OSX with Homebrew, try

brew update
brew install phantomjs

Then you can run tests by doing

script/test

Seed Data

rake db:seed will create a sample event (called 'Seeded Test Event'), organized by a sample user, with many more sample user volunteers and students. Doing rake db:seed again will destroy all those sample persons and create the event again. The exact details of what is created can be found in seed_event.rb.

Styling Guidelines

We have created a living style guide to keep track of HTML components and their styling across the site. See it at http://localhost:3000/style_guide.

We're still working on adding every element to the page, so if you see missing components, add it to the erb template (static_pages/style_guide.html.erb)

Email

To receive/develop emails locally, install the MailCatcher gem at http://mailcatcher.me. The process is as follows:

  1. gem install mailcatcher -- installs MailCatcher in your current gemset
  2. mailcatcher -- start the MailCatcher server if it isn't running already
  3. Visit http://localhost:1080/ in your web browser. This is your MailCatcher mailbox, where mails will appear.
  4. Do something in your local Bridge Troll app that would send a mail, like signing up for a new account.
  5. You should see the mail that Rails sent in the MailCatcher window. Woo!

Note that MailCatcher just makes it easy to see the HTML output of your mails: it doesn't guarantee that the way the mail looks like in MailCatcher is how it will look in Gmail or Outlook. Beware!

Meetup Integration

The following section is only necessary if you want to import Meetup data or work on Meetup OAuth features. The app will still work, and the tests will all pass, without setting any Meetup API keys.

Setting up environment

To populate environment variables, we recommend you start your rails server with foreman, which is available in the [https://toolbelt.heroku.com/](Heroku Toolbelt). Once foreman is installed, You'll need to create an .env file in the Bridge Troll directory for foreman to start effectively. Here's a sample one (note these are not real API keys):

MEETUP_API_KEY=12345
MEETUP_OAUTH_KEY=90210
MEETUP_OAUTH_SECRET=5551212
RAILS_ENV=development
RACK_ENV=development
PORT=3000

With the .env file in place, simply run foreman start in your Bridge Troll directory instead of starting with rails server.

Historical Meetup Importing

To import historical data from the SF Ruby Meetup group, use the rake task rake meetup:import. This requires you set up a MEETUP_API_KEY in your local environment, which you can find on Meetup at http://www.meetup.com/meetup_api/key/.

Meetup OAuth

To test authenticating with Meetup using your localhost server, you need to register a new OAuth Consumer at Meetup.

When you add a new OAuth consumer, set the Website as http://bridgetroll.herokuapp.com, the Redirect URI as http://localhost:3000/auth/meetup/callback, and the De-authorization Notification URL as http://localhost:3000/auth/meetup/destroy.

The values for key and secret on the OAuth consumers page should be added to your local environment as MEETUP_OAUTH_KEY and MEETUP_OAUTH_SECRET, respectively.

Contributors

Literally one billion thanks to our super awesome contributors.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.