We want to build an app to help people get rides. We're going to start by helping people get to events, like volunteering opportunities, and work our way up to helping people get to the polls on caucus day and election day.
- Ruby 2.3.0
- Rails 4.2.5
- RubyGems
- Bundler
- Postgres (Postgres.app recommended for OS X).
If you want to modify the front-end assets, you'll also need:
- Node (
brew install node
if you don't have it) - Bower (
npm install -g bower
if you don't have it)
- Clone this repo with
git clone [email protected]:SandersForPresident/RideWithBernie.git
cd RideWithBernie
bundle install
- Create the database with
bin/rake db:create
. - Boot up the server with
rails server
- Head to http://localhost:3000.
https://gist.github.com/cmuld3r/2071d5df7ce7717d2c68
- Rails 4.2.5
- Ruby 2.3.0
- Angular 1.4.7
- BernieStrap
- Font Awesome icons
- Ruby/Angular/Bower setup done as in this blog.
The main html file is app/views/pages/index.html.erb
, which is rendered inside the layout app/views/layouts/application.html.erb
.
This file just boots up the angular app, and hosts the ng-view.
Templates are stored in app/assets/javascripts/templates
, and end with .html
or .html.erb
.
Coffeescript is all in app/assets/javascripts/app.coffee
, let's just keep ourselves to one coffee file for now.
There's no API yet, but when we've got one, we'll post it here!
We're using bower-rails for super simple front-end asset management,
and all assets are stored in vendor/assets/bower_components
. If you need more front-end libraries, modify the Bowerfile
, and then install them with rake bower:install
. You may need to google around to find the exact line to put into the Bowerfile
.
The app is currently set up to auto-deploy through Heroku, but there is one manual step involved (so we don't accidentally break anything). Anytime a commit is made on the master
branch of this repository, SandersForPresident/RideWithBernie, that code is automatically deployed out to our staging app, called ridewithbernie-staging
on Heroku, which lives at https://staging.ridewithbernie.com. We can then test it out, and make sure everything is working properly. If it is, then any Heroku collaborator can head to our "Pipeline" here to "Promote" the code from staging to production. The production app, called ridewithbernie
on Heroku, lives at https://ridewithbernie.com.
Note: It's possible that the auto-deploy will fail, causing the staging app to seem un-updated, in which case errors will show up on the Heroku Pipeline.
We use the Github Flow branching model. Make sure to create new, well-named branches for all work, and then submit PRs back to master when you are ready to merge your changes. No pushing straight to master!
We have our own Slack team, so if you want to get onto that, email [email protected] and he'll invite you.
You can find our todo list in Issues!