bikeindex / bike_index

All the code for Bike Index, because we love you
https://bikeindex.org
GNU Affero General Public License v3.0
274 stars 70 forks source link

BIKE INDEX CircleCI View performance data on Skylight

Bike registration that works: online, powerful, free.

Registering a 🚲 only takes a few minutes and gives 🚴‍♀️ 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

We recommend asdf-vm for managing versions of Ruby and Node. Check the .tool-versions file to see the versions of the following dependencies that Bike Index uses.

Running Bike Index locally

Follow the Getting Started guide for a complete set up. Or if you're familiar with developing Ruby on Rails applications start with these steps and a local Postgresql installation:

Toggle in development command default
Caching bundle exec rails dev:cache disabled
letter_opener bin/rake dev:letter_opener enabled
logging with lograge bin/rake dev:lograge enabled

Localization

See the localization docs for details (we use translation.io for localization).

Testing

We use RSpec and Guard for testing.

We use parallel_tests to run the test suite in parallel. By default, this will spawn one process per CPU in your computer.

Code Hygiene

We use the following tools to automate code formatting and linting:

Run bin/lint to automatically lint the files and/or add auto formatters to your text editor (e.g. prettier-standard)

EditorConfig

EditorConfig ensures whitespace consistency. See the Download a Plugin section of the EditorConfig docs to find a plugin appropriate to your editor.

StandardRB

StandardRB is an opinionated Ruby style guide, linter, and formatter - it is "a spiritual port of StandardJS".

See the how do I run standard in my editor section of the StandardRB docs to find an appropriate plugin for on-the-fly linting.

ESLint

ESlint is configured to run on project JavaScript. To run it, issue yarn lint.

Bug tracker

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

Community

Keep track of development and community news.

Contributing

Open a Pull request!

Don't wait until you have a finished feature before before opening the PR, unfinished pull requests are welcome! The earlier you open the pull request, the earlier it's possible to discuss the direction of the changes.

Once the PR is ready for review, request review from the relevant person.

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

... and go hard