As JayData is an open-source library and anybody can join the dev-team, we encourage you to contribute to the project. The following short introduction will guide you through the steps to cooperate.

The code

The source code of JayData can be found on Github, this is essential to get because the release version (published on JayData CodePlex page) is optimized to implement applications using JayData, not to develop JayData itself.

What to contribute

The core development team implements the Roadmap and picks new feature requests from the Product backlog. You –  as a community dev team member – are welcome to join the development of Product backlog items, implement your own feature ideas, optimizations or custom providers.

First steps

  1. Look around before you begin:
    • If you don’t have idea but you are eager to code, check the JayData Product backlog to find challenging development tasks
    • If you have a new idea, post your feature to the Product backlog to share your in-progress development on JayData.org, probably doing so will involve more developers to contribute to your feature.
  2. Set up your environment
  3. Fork JayData! You are just one step for from coding JayData, so you need to create a local repository of the code.
    • Github forking tutorial: http://help.github.com/fork-a-repo/
  4. After you implemented, tested and stabilized your change, run the unit tests (test-driven development is preferred) to make sure everything is working fine. Code without unit tests or code breaking the build won’t be merged into the project.
    • To run the unit tests, go the Solution Explorer of Visual Studio and navigate to test.html file of the JayData project. Right-click and choose View in browser.
    • Opening this page runs the unit tests, the expected result is a nice green/blue screen 🙂 Unit tests should pass on each HTML-compatible browsers (including Safari Mobile and Android Browser). The only case when a red test is acceptable is when the browser doesn’t implement the storage technology of the currently tested provider. For example, Safari doesn’t support IndexedDB.
  5. Share your code! After committing your working code to your local repository, you can send a pull request to the development team to integrate your changes to the master branch.
    • Commit comments should contain the description of the change in order to help the merging the code and writing the release notes. You can add here the URL of the Product backlog item you implemented.