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.
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.
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).
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!
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
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:
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...