Source code
The Git VCS is used for all code. This is hosted on the MisterGreenSource GitHub.
Process
Branches
The Gitflow branching model is used. The following exceptions are made:
- Release branches are skipped; This might be useful in the future when we grow. The develop branch is used to stage for production.
- The main branch is named ibiza.
Protected branches
For all projects, a branch protection rule is set up for the develop branch. This rule specifies that all merges into develop must be done through a pull request, with at least one other team member reviewing the code. This encourages us to actively seek feedback from our colleagues.
The rule is set up on the develop branch (as opposed to the ibiza branch) for the following reasons:
- This alows us to perform hotfixes straight to ibiza without requiring intervention from other team members. The code is still reviewed when the ibiza branch is merged into develop, but this doesn’t block a time-sensitive fix from being deployed.
- Code review upon merging into develop enables us to have confidence that everything on develop is ready to be merged into ibiza at the opportune time.
- It encourages us to use feature branches, which get merged into develop through a pull request.
Naming
The basic naming scheme exists out of an optional prefix, the entity name and an optional postfix.
| [poc- | deprecated- | archived-] entity [-webapp | -service | -handlers | -factory] |
prefix
Indicate the lifecycle phase of a project.
- poc Proof of Concept, not to be used in production
- deprecated Might be used but not to be implemented again
- archived is not being used anymore
Entity
Singular name of the project entity. Keep this simple, use names that already exist and be descriptive.
Postfix
Indicates the intended use within the landscape
- webapp user facing web application
- service backend service
- handlers asynchronous called functions within a service or implementation of 3rd party service
- factory helper library to create an reusable implementation