Skip to content
Weiqing edited this page Sep 29, 2017 · 14 revisions

Getting Started

Welcome to the Coursemology2 wiki! This wiki is intended help contributors get started to contributing on Coursemology.

Please take a look at the Getting Started to understand a little more about Coursemology2.

Contributing Guidelines

Where do I start?

  • Before starting on any development work, please read the contributing guidelines to understand the conventions adopted by the team.
  • You can find things to work on in on our issues page. If you wish to pick up an existing issue, do sound off (as other members might be working on that issue).
  • If you are unsure of your proposed implementation, clarifications can be done there (or by adding a Pull Request for opinions).

How do I submit my Contribution?

We adopt a pull request model for Coursemology2. Please adhere to the following best practices:

  • Smaller PRs are preferred, for easier reviewing (~3 min, ~300 lines excluding specs)
  • For new features, split into smaller PRs (eg. split via models, controllers and views). You can implement it in logical blocks. State what else is to be done in subsequent pull requests so that the reviewer is aware when reviewing.
  • Follow conventions for good commits and good commit messages.
  • Fixes to pull requests should be in the original commit (instead of a separate commit).

Code Style

  • Code styles are predefined in the RubyMine/IntelliJ project files. Also, the Rails Community Style Guide covers majority of the styles that we use.
  • Our frontend code style follows Airbnb's JavaScript and React style guide. Run yarn lint in the client folder and fix all issues before making a pull request.

Contributing Guides and Conventions

If you are working on Rails and/or React parts of the codebase, it is suggested that you read this first:

Clone this wiki locally