cBackup web interface is the application powered by Yii2 framework. Therefore the official framework documentation can be very useful if you would like to contribute to cBackup.
cBackup daemon is the Java application powered by Spring Framework.
- Project main language is English;
please, keep all comments, commit messages and language strings in English.
- Clean code;
All code must be clear and clean. Big part of open source projects indulge themselves in rapid development and messy code sins. We encourage you to write code as if your successor knows where do you live. Make you code beautiful and follow two principles:
Keep It Simple and Stupid
Don't Repeat Yourself
- Documentation matters;
Keep all methods well-documented, write comments in unconventional code segments, accompanying documents for your commits to include them in official documentation later.
- Yii:t() everything
We are providing multilingual product. Please keep it up.
- Code must follow PSR-2 as close as possible;
Don't be stingy on spaces and new lines. Well readable code saves hours of man hours.
- Take cue from Yii2 coding standard
- Files MUST use either <?php or <?= tags
- it MUST NOT use the other tag variations such as <?
- There should be a newline at the end of file
- Do not add trailing spaces to the end of the lines
- Files MUST use only UTF-8 without BOM for PHP code
- Code MUST use 4 spaces for indenting, not tabs
- Class names MUST be declared in
- Class constants MUST be declared in all upper case with underscore separators
- Method names MUST be declared in
- Property names MUST be declared in
- Database table names are singular
node. The only exclusions are many-to-many relations. M2M table should me named as
- Application components and namespaces should represent their roles and functionality
app\helpers. Try utilizing existing namespaces and folders.
We use Transifex to keep our translation integrity. Also it's easy to add new language support with it's service. Feel free to join cBackup on Transifex and contribute by adding, translating and maintaining new language.