Carpool is a rail application that is written purely for my personal learning and testing out of various web application related languages (Ruby on rails, backbone.js, coffeescript, google api).
It’s called Carpool in name only as it doesn’t allow you to schedule any trips but just defining your vehicles if you have any and addresses that are currently… shared…
I have not created a mailer for it yet either so password retrieval is not really thought through… sorry.
Make sure you have mySQL5+ installed and of course ruby 1.9> and rails 3.2> Pull the source codes and then create the database user that you want this thing to use then do:
rake db:migrate or bundle exec rake db:migrate
Start the server by doing:
rails s
and you should be able to see the pages on localhost:3000
You might need to do bundle install before it all works. I haven’t tried pulling it and setting it up yet I’ll update this when I have.
The default directory structure of carpool:
|-- app | |-- assets | |-- images | |-- javascripts | |-- backbone | |-- models | |-- routers | |-- templates | `-- views | `-- stylesheets | |-- controllers | |-- helpers | |-- mailers | |-- models | `-- views | `-- layouts |-- config | |-- environments | |-- initializers | `-- locales |-- db |-- doc |-- lib | `-- tasks |-- log |-- public |-- script |-- test | |-- fixtures | |-- functional | |-- integration | |-- performance | `-- unit |-- tmp | |-- cache | |-- pids | |-- sessions | `-- sockets `-- vendor |-- assets `-- stylesheets `-- plugins
Addresses
This object's MVC is where I experimented with Google Geolocation API. Just basic marking location from address and obtaining latitude and longitute
Vehicle
This object's MVC has been converted to use backbone.js so it's backbone counterpart could be found in app/assets/javascript/backbone/ I was quite surprised and somewhat disappointed that the backbone generator created separate forms for edit and new. Learning rails has had so much emphasis on DRY it feels almost like going backwards. No doubt it's something you can fix manually...
User
User registration are done using Authlogic plugin