Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add contribution guidelines #168

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Welcome to Kioku's contribution guidelines

We are delighted that you want to help us to make Kioku even better! To make this as easy and transparent as possible for you, we have summarized the guidelines we follow in this document. Don't be afraid to make a mistake, we appreciate every contribution. If anything is still unclear to you, don't hesitate to contact us and ask for help. We look forward to your contribution to the project and are always happy to help.
Julian702 marked this conversation as resolved.
Show resolved Hide resolved

# Index
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Index
# Table of Contents


1. [Git](#git)
- [Branches](#branches)
- [Commits](#commits)
Julian702 marked this conversation as resolved.
Show resolved Hide resolved
- [Pull Requests](#pull-requests)
2. [Backend](#backend)
3. [Frontend](#frontend)

# Git

### Branches

When creating branches, we follow the following pattern:

`[type]/[area]/[individual name]`

- `type`: What is the purpose of your changes? Currently we are using the following tags
- feature: for implementing new features
- fix: for bugfixes
- hotfix: for urgent fixes such as security vulnerabilities and more important bugs that severely affect the usability of our application
- refactor: for changes that only improve the source code and have little or no impact on the functionality of Kioku
- test: for everything concerning testing
- deployment: for all deployment topics
- docs: for updating the docs
- `area`: Which area of the application do the changes affect? If none or both apply to your changes, simply leave it out.
- frontend
- backend
- `individual name`: This is where you should try to summarize your changes as short and precise as possible. If you need several words, separate them with a dash and write everything in lower case.
Comment on lines +22 to +33
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- `type`: What is the purpose of your changes? Currently we are using the following tags
- feature: for implementing new features
- fix: for bugfixes
- hotfix: for urgent fixes such as security vulnerabilities and more important bugs that severely affect the usability of our application
- refactor: for changes that only improve the source code and have little or no impact on the functionality of Kioku
- test: for everything concerning testing
- deployment: for all deployment topics
- docs: for updating the docs
- `area`: Which area of the application do the changes affect? If none or both apply to your changes, simply leave it out.
- frontend
- backend
- `individual name`: This is where you should try to summarize your changes as short and precise as possible. If you need several words, separate them with a dash and write everything in lower case.
- `type`: What is the purpose of your changes? Currently we are using the following prefixes
- `feature`: for implementing new features
- `fix`: for bugfixes
- `hotfix`: for urgent fixes such as security vulnerabilities and more important bugs that severely affect the usability of our application
- `refactor`: for changes that only improve the source code and have little or no impact on the functionality of Kioku
- `test`: for everything concerning testing
- `deployment`: for all deployment topics
- `docs`: for updating the docs
- `area`: Which area of the application do the changes affect? If none or both apply to your changes, simply leave it out.
- `frontend`
- `backend`
- `individual name`: This is where you should try to summarize your changes as short and precise as possible. If you need several words, separate them with a dash and write everything in lower case.


### Commits

When committing changes, please write your messages according to the following convention:

This commit will `Your commit message`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This commit will `Your commit message`
`This commit will ...`


Write the first letter of your message in upper case and the rest in lower case.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Write the first letter of your message in upper case and the rest in lower case.
Write the first letter of your message in upper case.


### Pull requests

When you open a pull request, remember to label it and link the corresponding issue. Pull requests should always concern only one specific subject. Please use the template and fill in the required information.

# Backend

Julian702 marked this conversation as resolved.
Show resolved Hide resolved
If you make changes to the backend, please keep the following points in mind.

- Export new proto definitions with every change via `make proto` in the corresponding service directory
- Make yourself familiar with the `helper` and `converter` packages of the project as they contain standards for serializing/deserializing objects, error definition, JWT handling and ID naming
- Document API changes in the `bruno` project inside `/backend/api-documentation`

If you are not familiar with any of these points, take a look at our [backend documentation](./docs/backend_development.md) or ask us for help.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If you are not familiar with any of these points, take a look at our [backend documentation](./docs/backend_development.md) or ask us for help.
If you are not familiar with any of these points, take a look at our [backend documentation](./docs/backend_development.md) or ask us for help.

# Frontend

If you make changes to the frontend, please ensure the following points.

- Please run Prettier before commiting changes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Please run Prettier before commiting changes.
- Please run `Prettier` before committing changes.

- Stories should be available for each component and its different variants.
- A corresponding translation in English and German should be provided for each text. If you do not speak German, we will support you with the translation.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- A corresponding translation in English and German should be provided for each text. If you do not speak German, we will support you with the translation.
- A corresponding translation in English and German should be provided for each text. If you do not speak German, we will help you with the translation.


If you are not familiar with any of these points, take a look at our [frontend documentation](./docs/frontend_development.md) or ask us for help.