This document describes various processes and information when contributing to this project.
Most features in this project are developed with a user story, and a wireframe as starting point. These user stories are described as tasks in our project management tool Jira, and the wireframes are usually drawn in Whimsical.
Other than fulfilling its use case, a feature is considered done when the following requirements are met.
- Written tests covering the feature.
- Translated all texts that are shown to users.
- Adhered to the coding standards.
- Documented the feature.
- Added an entry to the changelog.
- Updated the README with details of changes to the interface, this includes new environment variables, useful file locations and container parameters.
The Git Flow branching model is used as our branching model.
The following coding standards are enforced in this project:
- PHP - Symfony Coding Standards
- Twig - Twig Coding Standards
- Javascript - Javascript Standard Style
- Sass - Sass Guidelines
- Markdown - markdownlint rules
The Git Flow branching model already describes the basics of naming branches. In this project the branches also includes the shortname of the task in Jira.
A branch should be names as follows:
type-of-task/JIRA-SHORT-NAME-title-of-task
Examples:
feature/NSEK-84-creating-prject
hotfix/SUPPORT-92-fix-missing-variable
A general guideline for writing commit messages is that the message should describe which problem or use case it solves, and should be meaningful for other persons that yourself.
Other than that the commit message should start with the shortname of the corresponding Jira task.
Example:
NSEK-84: Creating project
Before opening a pull request, make sure that you have followed the definition of done described elsewhere in this document.
- Create your feature branch (
git checkout -b feature/NSEK-84-AmazingFeature
) - Commit your Changes (
git commit -m 'NSEK-84: Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/NESK-84-AmazingFeature
) - Open a Pull Request
- You may merge your Pull Request when another team member has reviewed and approved your request.