Skip to content

Latest commit

 

History

History
107 lines (81 loc) · 3.82 KB

CONTRIBUTING.md

File metadata and controls

107 lines (81 loc) · 3.82 KB

How to contribute to KVM (Karte Von Morgen)

Found a bug?

Please let us know about any bugs you find via the github issue editor. Click here and report what you experienced and what you would have expected to happen.

Pull Request

We are happy about any contribution via a pull request. To be able to easily accept your pull request, please stick to the following Style Guide.

Beginner Developer Guide

If you want to contribute but do not know all the used technologies, then don't worry. In the following lines you find a step-by-step manual how to get started and help us with developing on KVM (Karte von morgen).

Setup your system

You can use any operating system but for this guide we use the commands for linux (e.g. Kubuntu 16.04 LTS). For another operating system it should be easy to find out the equivalent commands by googling.

Install Node and npm that we'll need to build the app:

sudo apt-get install nodejs nodejs-legacy npm

To manage the source code and to keep track of changes, git will help you:

sudo apt-get install git

Great, that's it! Your are done!

Learn the basics

If you've never done that it's a good idea to first play around with the following web development basics before continuing:

  • JavaScript
  • HTML
  • CSS

Note: If you want you can install zeal, which is an offline browser for JavaScript-, HTML-, CSS-, React-Documentation and many many more:

$ sudo add-apt-repository ppa:zeal-developers/ppa
$ sudo apt-get update
$ sudo apt-get install zeal

React & Redux

As a framework KVM uses React with redux.

Here is a great talk and comic which explains why Redux is a good idea (they are about Flux but all of this is also valid for Redux which is the next stage after Flux).

Then you should be prepared to have a look at the framework. I recommend to read at least the introduction and the basics sections as a first overview. Now, let's put React and Redux together, for example with this "Step by Step Guide To Building React Redux Apps".

The framework that connects React and Redux in the end is react-redux.

Congratulations, you're now a pro that can help others to hack the awesome KVM platform!

That's it. Everything else is a matter of detail. Nevertheless here are some more libs used and you should/could know about:

Commit-Message Style

webapp / new / EntryForm: change email-validation
^         ^     ^
|         |     |
|         |     |
webapp    |     write any message here (in present tense)
core      |
core,webapp
* (whole project, e.g. README-file)
          |
          |
          |
        new: any change                  <-- functionality changes
        fix: bugfix                       \
        refactor: only rewriting          |
        style: just changing appearance   | no changes in functionality
        i18n: just changing i18n-texts    |
        test: adding or changing tests    |
        chore: any non-coding tasks,      /
               e.g. npm updates...