Browse Source

Merge pull request #30 from bikebike/godwin_test_branch

Updated our readme
development
Godwin 9 years ago
parent
commit
173c61642a
  1. 250
      README.md

250
README.md

@ -1,121 +1,129 @@
Bike!Bike! Bike!Bike!
=========== ===========
This is the development repository for Bike!Bike! Progress can currently be seen at [bikebike.herokuapp.com](http://bikebike.herokuapp.com/) This is the development repository for Bike!Bike! Progress can currently be seen at [preview.bikebike.org](https://preview-en.bikebike.org/) and in production at [bikebike.org](https://bikebike.org/)
If you're about to get started contributing please contact Godwin: `goodgodwin``@``hotmail.com`. Also try to familiarize yourself with the [technologies](#technologies) we're using, our [collaboration tools](#collaboration-tools), [requirements](#requirements-overview), [coding conventions](#coding-conventions), [style guide](#style-guide), and [testing practices](#testing-practices). If you're about to get started contributing please contact Godwin: `goodgodwin``@``hotmail.com`. Also try to familiarize yourself with the [technologies](#technologies) we're using, our [collaboration tools](#collaboration-tools), [requirements](#requirements-overview), [coding conventions](#coding-conventions), [style guide](#style-guide), and [testing practices](#testing-practices).
### Technologies ### ### Technologies ###
* [Ruby 2.0.0][1] * [Ruby 2.0.0][1]
* [Rails 4.0.0][2] * [Rails 4.0.0][2]
* [PostgreSQL][3] * [PostgreSQL][3]
* [HAML][4] * [HAML][4]
* [Scss][7] * [SCSS][5]
* [Compass][8]
* [Foundation][5] [1]: http://www.ruby-lang.org/en/
* [CoffeeScript 1.7.1][6] [2]: http://rubyonrails.org/
* [jQuery 1.11.0][9] [3]: http://www.postgresql.org/
[4]: http://haml.info/
[1]: http://www.ruby-lang.org/en/ [5]: http://sass-lang.com/
[2]: http://rubyonrails.org/
[3]: http://www.postgresql.org/
[4]: http://haml.info/ ## Internal Gems ##
[5]: http://foundation.zurb.com/ We will make a commitment to extract any functionality that makes sense to do so, into separate gems in order to share functionality with others, with our other projects (such as bikecollectives.org), and to enable easier collaboration amongst ourselves.
[6]: http://coffeescript.org/
[7]: http://sass-lang.com/ Here is a list of the gems we have created so far, if you are a collaborator on this project you may need to become a collaborator on these gems as well. Don't hesitate to make a request, it won't be denied:
[8]: http://compass-style.org/
[9]: http://jquery.com/ ### Lingua Franca ###
[Lingua Franca](https://github.com/lingua-franca/lingua_franca) provides an easy way to include translatable content and provides a user interface for translators to provide translations. See [Translations](#translations) for best practices on the Bike!Bike! website.
## Collaboration Tools ##
### Bumbleberry ###
* [Trello][10] [Bumbleberry](https://github.com/bumbleberry/bumbleberry) provides cross-browser support with little effort and minimum file sizes. Basically it creates a different stylesheet for every known browser and only includes supported rules for each using information obtained from [caniuse.com](caniuse.com).
* [GitHub][11]
* [Google Hangouts][12]
## Collaboration Tools ##
[10]: https://trello.com/b/X4TGKQ1L/rails-tasks
[11]: https://github.com/bikebike/BikeBike * [Trello][6]
[12]: http://www.google.com/+/learnmore/hangouts/ * [GitHub][7]
* [Google Hangouts][8]
## Requirements Overview ## [6]: https://trello.com/b/X4TGKQ1L/rails-tasks
[7]: https://github.com/bikebike/BikeBike
Bike!Bike! is a conference which is held in and hosted by a different city each year. The conference is specifically for not for profit bicycle collectives (5013c or equivalent status is not required). There are also 'Reginal Bike!Bike!s' which can be hosted by any organization at any time of the year. [8]: http://www.google.com/+/learnmore/hangouts/
The Bike!Bike! website will help coordinate these conferences, allowing users to register, to create organizations, and organize conferences. ## Github Workflow ##
Working on it...
### Users ###
Users should be able to register and log in, either with our system or using Facebook. We will store user name, encrypted passwords, email addresses, avatars, and user settings.
## Requirements Overview ##
### Organizations ###
An organization can be created by any user. An organization has a name, location, logo, email address, and some additional optional settings. An organization also contains a list of users which can interact and represent the organization on the site. A user is added to the organization by either: Bike!Bike! is a conference which is held in and hosted by a different city each year. The conference is specifically for not for profit bicycle collectives (5013c or equivalent status is not required). There are also 'Reginal Bike!Bike!s' which can be hosted by any organization at any time of the year.
1. Creating the organization The Bike!Bike! website will help coordinate these conferences, allowing users to register, to create organizations, and organize conferences.
2. Requesting membership
3. Being invited by an existing member ### Users ###
Users should be able to register and log in, either with our system or using Facebook. We will store user name, encrypted passwords, email addresses, avatars, and user settings.
Organizations can be set up to allow anyone to become a member, require verification, require a secret password, or only allow invitations.
### Organizations ###
### Conferences ### An organization can be created by any user. An organization has a name, location, logo, email address, and some additional optional settings. An organization also contains a list of users which can interact and represent the organization on the site. A user is added to the organization by either:
Conferences can be created by any user who is associated with an organization. A conference has a name, date, location, a list of host organizations, and optional administrators. 1. Creating the organization
2. Requesting membership
A conference can be modified by anyone who has been added as an administrator directly, or is a member of any of the host organizations. 3. Being invited by an existing member
### Registration ### Organizations can be set up to allow anyone to become a member, require verification, require a secret password, or only allow invitations.
Any member of the site can register for a conference. A form must be constructed by the conference corrdinators and must then be completed by the registrant.
### Conferences ###
### Workshops ###
Any user who is register for a specific conference can propose workshops for that conference. A workshop is later scheduled by the conference coordinators if they decide to include it in the conference. A workshop can have one or more facilitators which are added in a similar process as users are added to an organization. Conferences can be created by any user who is associated with an organization. A conference has a name, date, location, a list of host organizations, and optional administrators.
A conference can be modified by anyone who has been added as an administrator directly, or is a member of any of the host organizations.
### Events ###
Events are created and scheduled by conference coordinators. ### Registration ###
Any member of the site can register for a conference. A form must be constructed by the conference corrdinators and must then be completed by the registrant.
## Coding Conventions ## ### Workshops ###
Any user who is register for a specific conference can propose workshops for that conference. A workshop is later scheduled by the conference coordinators if they decide to include it in the conference. A workshop can have one or more facilitators which are added in a similar process as users are added to an organization.
### Ruby ###
### CoffeeScript ### ### Events ###
Events are created and scheduled by conference coordinators.
### Haml ###
### SCSS ### ## Coding Conventions ##
### Translations ### ### Ruby ###
Translating our site into mutiple languages is a key part of opening it up to the world. When coding, never include any English text as in a string or Haml. Instead, we shall always use the underscore helper method `_`. The method takes a translation key and some optional parameters. ### CoffeeScript ###
All translation is done in a collaborative, volunteer based system on the site itself, even the English text. If a user has sufficient permissions, the underscore method will produce highlighted text which can be edited directly by the user. ### Haml ###
The method can be used as follows: ### SCSS ###
_ 'basename.my_key' ### Translations ###
_ 'basename.my_key', :paragraph Translating our site into multiple languages is a key part of opening it up to the world. When coding, never include any English text as in a string or Haml. Instead, we shall always use the underscore helper method `_`. The method takes a translation key and some optional parameters.
end All translation is done in a collaborative, volunteer based system on the site itself, even the English text. If a user has sufficient permissions, the underscore method will produce highlighted text which can be edited directly by the user.
If the key does not exist, the previos lines will produce the following respectively: The method can be used as follows:
'my_key' _ 'basename.my_key'
'Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. _ 'basename.my_key', :paragraph
Vivamus magna justo, lacinia eget consectetur sed, convallis at
tellus. Proin eget tortor risus. Donec sollicitudin molestie end
malesuada. Donec rutrum congue leo eget malesuada.'
If the key does not exist, the previous lines will produce the following respectively:
If the user has sufficient rights, these blocks will also be surrounded by the necessary markup to allow them to be selected and edited by the user.
'my_key'
Translations are recorded during testing and committed to the repository when pushing to github. After pulling down the latest version from github you should always run `rake translations:migrate` to put the latest migrations into your database.
'Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.
### Style Guide ### Vivamus magna justo, lacinia eget consectetur sed, convallis at
tellus. Proin eget tortor risus. Donec sollicitudin molestie
On hold until our design team determines a director for our identity. malesuada. Donec rutrum congue leo eget malesuada.'
If the user has sufficient rights, these blocks will also be surrounded by the necessary markup to allow them to be selected and edited by the user.
## Testing Practices ##
Translations are recorded during testing and committed to the repository when pushing to github. After pulling down the latest version from github you should always run `rake translations:migrate` to put the latest migrations into your database.
Our focus will be on integration testing using Capybara. While testing the app records all translations that it finds, whether or not they exist, and which pages that they were found on.
### Style Guide ###
On hold until our design team determines a director for our identity.
## Testing Practices ##
Our focus will be on integration testing using Capybara. While testing the app records all translations that it finds, whether or not they exist, and which pages that they were found on.

Loading…
Cancel
Save