All the code for the Bike Index, because we love you
Ruby HTML CSS JavaScript CoffeeScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
bin
config
db
lib
log
public
script
spec
.env
.gitignore
.rubocop.yml
.travis.yml
Gemfile
Gemfile.lock
Guardfile
Guardfile_frontend
LICENSE
Procfile
Procfile_development
README.markdown
Rakefile
Vagrantfile
bike_index.png
config.ru
start

README.markdown

BIKE INDEX This is the Bike Index Build Status

Test Coverage View performance data on Skylight

Bike registration that works: online, powerful, free.

Registering a bike only takes a few minutes and gives cyclists a permanent record linked to their identity that proves ownership in the case of a theft.

We're an open source project. Take a gander through our code, report bugs, or download it and run it locally.

Dependencies

Running Bike Index locally

This explanation assumes you're familiar with developing Ruby on Rails applications.

Testing

We use RSpec and Guard for testing.

  • Run the test suit in the background with bundle exec guard

  • You may have to manually add the fuzzystrmatch extension, which we use for near serial searches, to your databases. The migration should take care of this but sometimes doesn't. Open the databases in postgres (psql bikeindex_development and psql bikeindex_test) and add the extension.

CREATE EXTENSION fuzzystrmatch;

Vagrant development box

For your convenience, this repository contains a Vagrantfile which is used to automatically set up and configure a virtual local (Ubuntu Xenial) development environment with all of the required dependencies preinstalled.

Dependencies/Requirements

  • A computer that supports hardware virtualization (Intel VT-x/AMD-V)

  • Vagrant

  • VirtualBox

  • At least 1.5GB of free memory

Run vagrant up to start the virtual machine. Upon first run, it will run various provisioning scripts to install all of the required packages, configure PostgreSQL, and run all of the Ruby commands to initalize a local Bike Index dev environment. Port 3001 is forwarded locally for testing. Be warned, it will take around a half hour or longer (depending on your internet connection) on first run to download additional Vagrant dependencies and to provision the dev environment. You may observe some informational warning messages during the initial setup which you can safely ignore. vagrant halt to shutdown the VM. Subsequent startups will take considerably less time after the initial run.

Troubleshooting

If the initial provisioning fails for any reason, try running vagrant provision and see if running the provisioner again completes without error. If not, please try to troubleshoot/google issues as much as possible before filing an issue. Many Vagrant related errors/issues have already been solved and are documented between Stackoverflow and Github. If you run in to an issue you're unable to solve, be sure to include all relevant stdout messages and errors.

Bug tracker

Have a bug or a feature request? Open a new issue.

Community

Keep track of development and community news.

Contributing

Open a Pull request! The earlier you open the pull request, the earlier it's possible to discuss the direction of the changes.

If your pull request contains Ruby patches or features, you must include relevant rspec tests.

... and go hard