GithubHelp home page GithubHelp logo

bikebike's Introduction

Bike!Bike!

This is the development repository for Bike!Bike! Progress can currently be seen at bikebike.herokuapp.com

If you're about to get started contributing please contact Godwin: goodgodwin``@``hotmail.com. Also try to familiarize yourself with the technologies we're using, our collaboration tools, requirements, coding conventions, style guide, and testing practices.

Technologies

Collaboration Tools

Requirements Overview

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.

The Bike!Bike! website will help coordinate these conferences, allowing users to register, to create organizations, and organize conferences.

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

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:

  1. Creating the organization
  2. Requesting membership
  3. Being invited by an existing member

Organizations can be set up to allow anyone to become a member, require verification, require a secret password, or only allow invitations.

Conferences

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.

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.

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.

Events

Events are created and scheduled by conference coordinators.

Coding Conventions

Ruby

CoffeeScript

Haml

SCSS

Translations

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.

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.

The method can be used as follows:

_ 'basename.my_key'

_ 'basename.my_key', :paragraph

end

If the key does not exist, the previos lines will produce the following respectively:

'my_key'

'Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.
	Vivamus magna justo, lacinia eget consectetur sed, convallis at
	tellus. Proin eget tortor risus. Donec sollicitudin molestie
	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.

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.

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.

bikebike's People

Contributors

g0dwin avatar cesidio avatar tagliala avatar gkaplan avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.