Velocipede's User, Sales, and Bike Inventory Web App
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Jason Denney 3e56f2eb19 Updating edit task list page w/ home & bike link 11 years ago
app Updating edit task list page w/ home & bike link 11 years ago
config Added New Time Entry Front End 11 years ago
db Added bike show api method 11 years ago
doc git init 12 years ago
lib git init 12 years ago
log git init 12 years ago
public adding public/images directory 12 years ago
script git init 12 years ago
spec Added tests for user checkin/checkout on index 11 years ago
vendor git init 12 years ago
.gitignore ignore public/assets 11 years ago
.rspec Update spec, remove turnip, to get tests working 11 years ago
.ruby-gemset Convert .rvmrc to ruby version and gemset 11 years ago
.ruby-version Convert .rvmrc to ruby version and gemset 11 years ago
Gemfile Added jbuilder to gemfile 11 years ago
Gemfile.lock Added jbuilder to gemfile 11 years ago
Guardfile git init 12 years ago
README.md Add poltergeist to gem file, and limited version dependecies 11 years ago
Rakefile Changes needed to run in produciton 12 years ago
config.ru git init 12 years ago

README.md

About

A web application for bicycle collectives to track bicycles, bicycle work history, volunteer hours, volunteer work history, and volunteers currently in the shop.

See an overview video of what it looks like and how it works here: https://www.youtube.com/watch?v=0-JjM6d9nK4.

Instructions/Guides

Adding a User

To add a user, a user must sign themselves up from the initial login screen. An admin can later log in to grant that user admin privileges afterward, if desired.

Adding a Bike

How to add a bike to the database: https://www.youtube.com/watch?v=1IchWUdMQ90.

Views

The app has two different views. One for "core" volunteers which I consider admins, and another for "customer" volunteers which I consider users. Because of the Netzke/ExtJS framework I used, the current UI is non-intuitive and I feel like is only adequate for admins who can take the time to learn the system. I'm in the process of designing a simpler mobile friendly UI with the essential functionality that's intended for users.

Deployment

Currently, at the Velocipede collective we have it running on a computer in the shop on the local network. The reason for this, is so that it's only accessible from within the shop. I'm weighing out different methods for ensuring that users can only log in from within the shop (and not from home), such as a shop password that only admins can see and would make visible from within the physical bike shop. I also don't have to worry about security issues while the app is in development. In the future, I'd like to see the app hosted much like http://freehub.bikekitchen.org/.

Ideas

At Velocipede, with a mobile friendly UI for users, I'm hoping we can get donations of old, unused smart phones, connected via local wifi, that can be used as stations to log a volunteer's work and hours. They can be secured by gluing cables into the earphone jacks to deter theft if necessary. This might be another way that the collective can promote reuse of materials.

Developer Setup

  1. use rvm
  2. allow the .rvmrc file
  3. gem install bundler
  4. bundle
  5. Install Postgres (Mac OSX instructions below)
  6. Copy over DB config: cp config/database.yml.example config/database.yml
  7. Update config with your database (velocipede), user (velocipede), and password.
  8. rake db:create db:migrate
  9. rake db:seed
  10. Download extJS 4.1 (A version of 4.1 is hosted here: http://my.jasondenney.com/extjs-4.1.1.zip) Latest versions at http://www.sencha.com/products/extjs. Unzip and place where ever you like.
  11. Link to your extJS folder path under public/extjs: (From app root) ln -s /MY/PATH/extjs/ public/extjs
  12. rails s

Postgres 9.2 Mac OSX Install

  1. Install homebrew ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
  2. brew install postgres
  3. First time db initialization initdb /usr/local/var/postgres -E utf8
  4. Start Postgres pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
  5. Create your PG user createuser -d -P velocipede
  6. Create your database createdb -U velocipede --owner=velocipede velocipede

Testing

  1. Install phantomjs brew install phantomjs
  2. Run tests with rspec

Optional

Add icons

  1. Download icons from http://www.famfamfam.com/lab/icons/silk/
  2. Link to the icons under public/images/icons: (From app root) ln -s /MY/PATH/famfamfam_silk_icons/icons public/images/icons

License

Velocipede is released under the MIT license (http://opensource.org/licenses/MIT)

Made with ♥ in Baltimore