Skip to content

Development

Sabo edited this page Jun 3, 2024 · 6 revisions

Git

Submitting an Issue

Before you submit an issue, please search the issue tracker, maybe an issue for your problem already exists and the discussion might inform you of workarounds readily available.

Commit messages

Each commit message consists of a header, a body and a footer:

<type>(<scope>): <description>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
  • The header has a special format that includes a type, a scope and a short description.
  • The body should include the motivation for the change and contrast this with previous behavior.
  • The footer should contain a reference to an issue if any.

Make sure to sign-off on your commits as your work using the option -–signoff

Commit Example

refactor(backend): Refactored main.go and documented code

The logic in the Controller was improved via the Command Design Pattern 

#1, #2, #3 

Signed-off-by: Random J Developer <random@developer.example.org>

If you're using the command line, you can add additional "-m" options, in order to create a space between header, body and footer:

$ git commit -m "refactor(backend): refactored main.go and documented code" -m "The logic in the Controller was improved via the Command Design Pattern " -m "#1, #2, #3" --signoff

Commit Types

  • build: Changes that affect the build system or external dependencies
  • docs: Documentation only changes
  • fix: a bug fix in our codebase
  • feat: introduction of a new feature to our codebase
  • refactor: A code change that neither fixes a bug nor adds a feature
  • test: Adding missing tests or correcting existing tests
  • perf: A code change that improves performance

Branches

When opening a new branch, please use the following notation:

feat/xd-<issue-number>

Example: feat/xd-14

Further information

For further information, please read the Conventional Commits Specification and Angular guidelines

Angular

The front end is build using Angular. Angular, which is developed by Google, is an open source leading front-end framework known for its robustness and scalability. This project is being build with Angular 17. Angular Documentation

Siemens iX

Siemens iX a component library made and maintained by Siemens. It is recommended to use these components as they ensure that the Frontend follows the Siemens corporate design. For Documentation, see: Siemens iX Documentation

NestJS

The backend is being build using Nest JS, which is open source and builds upon NodeJS. For the Documentation, see: NestJS Documentation

PostgreSQL

Is an open source relational database management system. Furthermore, the feature rich functionality makes it valuable. For the Documentation, see: PostgreSQL Documentation

ESlint

ESlint is used to manage the written code and enforce coding conventions to prevent errors and keep the individual contributions to the project in line. For the Documentation, see: ESlint Documentation