ARSnova Flashcards needs you! If you are interested in helping, here is a short guide.
- First, fork and clone our repository.
- Create a topic branch.
- Make your changes. Be sure to provide clean commits and to write [expressive commit messages][commit-message].
- Stay up to date with our repository: Rebase to our
staging
branch usinggit rebase
. - Push the changes to your topic branch.
- Finally, [submit a merge request][merge-request].
If you don't feel like writing code, you could also update the documentation. And if you find any bugs, feel free to [open a new issue][new-issue].
To get your merge request accepted faster, you should follow our review process before submitting your request. Here is our list of dos and don'ts.
This is a no-brainer. Keep your branches up to date so that merges will never end up conflicting. Always test-merge your branches before submitting your pull requests. Ideally, your branches are fast-forwardable, but this is not a requirement.
You can use following tutorial to test your code style with Webstorm
This project makes use of both jscs and jshint. You can review your code with the defined rules by using gulp. Install:
npm install -g gulp
npm install
Then, you can either run the script one time with gulp --gulpfile .gulpfile.js
or you can watch the directory with gulp watch --gulpfile .gulpfile.js
Since Meteor is supporting ES6 (ES2015) we use the import/export statements to modularize the application. Please take a look at our project file structure for the clients:
client/
head.html
head.js
head.scss
i18n/
imports/
api/
startup/
client/
i18n.js
registerhelper.js
routes.js
server/
accounts-config.js
initialize.js
ui/
public/
server/
main.js
Sadly, some editors still do not have UTF-8 as their default setting. Using the wrong encoding will destroy non-ASCII characters like french quotation marks or umlauts.
We use JSDoc with the DocStrap template to document our code! For more information, you can visit the Wiki-Page.
It all comes down to
- reviewing your own changes,
- keeping your commits clean and focused,
- documenting your code,
- and always staying up to date.
If you keep these things in mind, your merge requests will be accepted much faster. Happy coding!