Clone this wiki locally
Souliss is an open-source project based on contribution from people that has interest in the smarthome and networked devices. There are several ways to contribute in the project, some are listed below:
- Use Souliss in your home or in your product and provide feedback
- Report issue and bugs while using Souliss
- Community support, helping people at their first try
- Contribute in the Wiki
- Write code and support with bugfixes
If you want to contribute to Souliss writing code, you should use the below procedure. Is always suggested to join the Community mailing list and introduce your self and your ideas.
Contribute with your code or share your bugfix
Souliss use Git a distributed version control system. What this means is that, even though this page hosts a central repository, there can be many forked repositories with changes of their own, and then some of those can be merged back into the main repository.
Git as distributed VCS allows multiple people working at same time, without have to sync continuously their work, but just doing it once at end of their activity. Every one can fork the code and start its own repository, that later will be merged in the upstream code.
If you haven't used Git before, the best is have a read through the web to understand how it works, the basic workflow is in three steps:
- Register an account on Github
- Fork the repository of your interest
- Apply and commit your changes
- Request a pull from Github, so that your code will be merged back in the main repository
You can install Git from their official website, consider that it has a command line interface and you need to install separately a GUI, TortoiseGit is the one used in Souliss but you can use any other at your option.
Create your fork
Fork a repository on Github is straightforward, there is a button on the top left of the Souliss page. Once forked, a clone of the code is available in your repositories and you can use Git to get the code on your machine.
Create your own Branch
To maintain several working activities in parallel Branch are used, every people can one one or more branch based on their activity.
Using TortoiseGit you have the Create Branch option, give a name and select from where you would like to start from, Souliss may contain more than one branch. Is important to Switch/Checkout in your branch before starting to create or modify code.
If you are there, right-click on any file or folder and in the Git menu you will found the name of your own branch.
Ready to code
At this point you are free to create and modify your code, test it and ask people in the Community to have a try and give feedbacks.
Get your code merged
Once you are ready, request a pull so that you code will be merged back into the main repository. At this time you can be asked for minor modification before your code get included in the main repository.
Use Git with Arduino IDE
There isn't a seamless way to use Git and the Arduino IDE, the easiest way is to clone your Git repository in the /libraries folder of the Arduino IDE. In this way you can change your code and test it directly and push it once ready.
Use Git with Android Studio
Android Studio comes fully GitHub integrated. Just import the project as described on SoulissApp Readme.md and start creating your branches.