Contributing

Cobalt is designed to foster a culture of open data and open source at the university. Cobalt's web APIs are free to use and also free to contribute to.

Repositories

Cobalt: The web service that powers the web APIs. Built with Node.js and interfaces with MongoDB for high performance querying over JSON-like data structures. (a detailed guide on contributing to this repository is available).

UofT Scrapers: The web scraping modules that populate Cobalt's databases. Built with Python and also distributed as a PyPI module.

Cobalt Documentation: Documentation for Cobalt, written in Markdown. Readable from within GitHub and on the website.

Branching strategy

For all repositories, there is one master branch. For each stable release, a new tag is created (ex. 0.1.0).

Issue tracker

We use GitHub issue tracking. Each repository will have outstanding issues/suggestions listed in the Issues tab.

Pull requests

Each pull request should only contain one new feature/improvement, and should always be submitted to the master branch.

Code style

Please make sure that any pull request you submit abides by the code style guides mentioned below.

For JavaScript, we follow the JavaScript Standard code style.

For Python, we follow the PEP 0008 code style.

If you find any inconsistencies in the current codebase, please do bring it up and feel free to submit a pull request fixing it.

Communication

We use Gitter for team communication. Join us!