Skip to content

Commit

Permalink
AYS-76 | README.md, CONTRIBUTING.md and `PULL_REQUEST_TEMPLATE.md…
Browse files Browse the repository at this point in the history
…` Files Have Been Updated (#272)
  • Loading branch information
agitrubard authored Dec 28, 2023
1 parent ba81d24 commit 7f1e335
Show file tree
Hide file tree
Showing 3 changed files with 107 additions and 109 deletions.
94 changes: 73 additions & 21 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,30 +19,82 @@ you maintain a collaborative and inclusive environment for everyone involved.

## How to Contribute

To contribute to the project, please follow these steps:

1. Fork the repository to your GitHub account.
2. Create a new branch for your contribution:
- Branch names should be descriptive and relate to the feature or bug you are addressing.
- Use kebab case (e.g., `fix-bug`, `add-new-feature`).
- Branches should follow the below `Naming Conventions of Branchs` header in [README.md](https://github.com/afet-yonetim-sistemi/ays-be/edit/main/README.md) file.
3. Make your changes in the branch you created.
4. Test your changes thoroughly to ensure their work as expected.
5. Commit your changes with clear and concise messages (see [Commit Messages](#commit-messages) section for more
details).
6. Push your changes to your forked repository.
7. Open a pull request (PR) against the `main` branch of the "afet-yonetim-sistemi" repository.
- Provide a clear and detailed description of the changes you made in the PR.
- Link any relevant issues or discussions in the PR description.
- Pull Request Headers should follow the below `Naming Conventions of Pull Requests` hader in [README.md](https://github.com/afet-yonetim-sistemi/ays-be/edit/main/README.md) file.

Once your PR is submitted, the project maintainers will review it and provide feedback. Be prepared to make additional
changes based on the feedback received.
Thank you for considering contributing to our project! To make the process smooth, please follow these steps:

1. **Fork the Repository:**
- Visit our [GitHub repository](https://github.com/afet-yonetim-sistemi/ays-be) and fork it to your GitHub account.

2. **Create a New Branch:**
- Create a branch for your contribution by referring to
the [Naming Conventions of Branches](#branch-naming-conventions) for guidance.
- Ensure your feature branch is associated with the corresponding GitHub issue from the 'Development' section in
each issue page.

3. **Make Changes:**
- Implement your changes in the branch you created.
- Thoroughly test your changes to ensure they work as expected.

4. **Commit Changes:**
- Commit your changes with clear and concise messages. Refer to the [Commit Messages](#commit-messages) section for
guidance.

5. **Push Changes:**
- Push your changes to your forked repository.

6. **Open a Pull Request (PR):**
- Open a PR against the `main` branch of the original repository by referring to
the [Pull Request Naming Conventions](#pull-request-naming-conventions) for guidance.
- Provide a detailed description of your changes in the PR.
- Link relevant issues or discussions in the PR description.
- Follow the pull request naming conventions outlined below.
- PR title should contain the issue/feature/bug number.

7. **Review and Feedback:**
- Once your PR is submitted, project maintainers will review it and provide feedback.
- Be responsive to feedback and make necessary changes.

## Development Standards

Our project adheres to the [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow) for
collaboration.
Issues are managed on GitHub Discussions, with plans to transition them to Jira.

### Branch Naming Conventions:

- `bugfix/{jira-issue-number}/{optional-description}`
- `feature/{jira-issue-number}/{optional-description}`
- `refactor/{jira-issue-number}/{optional-description}`
- `hotfix/{jira-issue-number}/{optional-description}`

> Example : `feature/AYS-1/add-feature-to-handle-user-authentication`
### Pull Request Naming Conventions:

- `#{jira-issue-number} | {header-for-summary-of-development}`

> Example : `#AYS-1 | Add feature to handle user authentication`
Here are some additional standards to keep in mind:

- Link your feature branch to the corresponding GitHub issue.
- `main` branch is protected.
- PR should be linked to the relevant issue within the GitHub Project.
- Only one code owner's approval is needed for merging feature branches.
- PR should be squash-merged to avoid merge commit history.
- PR should pass build and necessary tests before merging.
- Releases should be tagged with a version.
- Commit messages should be subjectless.
- Resolve comments within the PR by the commenter.
- PR should be concise and address one thing.
- Avoid including secret/credential information.
- Code should comply with existing coding standards; no new standards should be introduced without justification.

## Reporting Issues

If you encounter any bugs, have feature requests, or want to provide general feedback, please feel free to open an issue
in the "afet-yonetim-sistemi" repository. When creating an issue, please provide as much detail as possible, including:
If you encounter any bugs, have feature requests, or want to provide general feedback, please feel free to open a
discussion
in the "afet-yonetim-sistemi" repository. When creating a discussion, please provide as much detail as possible,
including:

- A clear and descriptive title
- Steps to reproduce the issue
Expand Down
59 changes: 28 additions & 31 deletions PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,38 @@
### Description

Please provide a brief description of the changes made in this pull request.

### Related Issue
### Checklist

Before submitting your pull request, ensure the following:

If this pull request is related to any GitHub issue, please mention it here with the appropriate issue number.
- [ ] **Title and Branch Naming Conventions:**
- The pull request title follows the
standard: [Pull Request Naming Conventions](CONTRIBUTING.md#pull-request-naming-conventions).
- The branch name follows one of the conventions outlined in
the [Branch Naming Conventions](CONTRIBUTING.md#branch-naming-conventions).

### Proposed Changes
- [ ] **Local Testing:**
- I have tested my changes locally on Postman, and they are working as expected.

Please provide a brief and descriptive title for your pull request, summarizing the changes or features introduced. It
should be in English and clearly indicate the purpose of the pull request. Optionally, you can provide a more detailed
description of what you have done.
- [ ] **Code Quality:**
- The code is formatted according to the project's coding guidelines and style.
- The code has been reviewed to ensure its quality.
- The code does not contain any issues flagged by SonarLint.

- Branches should follow the below `Naming Conventions of Branchs` header in [README.md](https://github.com/afet-yonetim-sistemi/ays-be/edit/main/README.md) File
- [ ] **Documentation:**
- Necessary documentation has been added or existing documentation has been updated, specifically detailing changes
made in Postman.

### Additional Information
- [ ] **Testing:**
- Relevant unit tests have been written and included.
- Relevant integration tests have been written and included.

If there's any additional information or context that the reviewers should know, please provide it here.
- [ ] **Reviewers and Assignees:**
- Default reviewers have been assigned to this pull request.
- Assignees have been added if necessary.

### Checklist
- [ ] **Labels and Associations:**
- No specific actions are required in the Labels and Associations section for this pull request.

Please check the following before submitting your pull request:

- [ ] I have tested my changes locally and they are working as expected.
- [ ] The code is formatted according to the project's coding guidelines and style.
- [ ] Necessary documentation has been added or existing documentation has been updated.
- [ ] Relevant unit tests have been written and included.
- [ ] Relevant integration tests have been written and included.
- [ ] The code has been reviewed to ensure its quality.
- [ ] The code does not contain any issues flagged by SonarLint.
- [ ] Default reviewers have been assigned to this pull request.
- [ ] Assignees have been added if necessary.
- [ ] Labels have been applied if necessary.
- [ ] If an issue is opened and this pull request is related to that issue, it should not be associated with any project
board or milestone. However, if there is no issue, the pull request should be associated with the appropriate project
board (BE Board, In Review column) and milestone to track the progress.

### Reviewers

The default project maintainers and team members will be automatically assigned as reviewers for this pull request.
- [ ] **Jira Issue Transition:**
- If this pull request is related to a Jira issue, ensure that the issue is moved to the "In Review" status on the
Jira board.
63 changes: 6 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ volunteers who are close to the relevant region and need, aims to manage the nee

* TDD
* Agile Kanban
* GitHub Projects
* Jira

**Version Control**

Expand Down Expand Up @@ -189,66 +189,15 @@ docker compose down -v

# [How to Contribute](https://github.com/afet-yonetim-sistemi/ays-be/edit/main/CONTRIBUTING.md)

The project is managed by [GitHub projects](https://github.com/orgs/afet-yonetim-sistemi/projects/3). You can assign
an issue from the Todo list and start working on it.
The project is managed by [Jira](https://afetyonetimsistemi.atlassian.net/jira/projects).
You can assign an issue from the Todo list and start working on it.

## Development Standards

This project uses [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow) for collaboration.
You can see open issues [here](https://github.com/afet-yonetim-sistemi/ays-be/issues).
You can start working one of the open issues by assigning it to yourself.

For your feature branches, please ensure below:

- Make sure to associate your feature branch with the GitHub issue from 'Development' section in each issue page.
- main branch is protected.
- PR should be linked to the relevant issue within the GitHub Project.
- Your feature branches can be merged by pull request that is approved by at least one code owner.
- PR should be squash-merged to avoid having merge commit history.
- PR title and description should clearly define and explain the aim.
- PR title should contain the issue/feature/bug number e.g. Issue 7 - Readme Update
- PR should successfully complete build and any other necessary tests before being merged to main.
- Branches should follow the below `Naming Conventions of Branchs` header.
- Each release should be tagged with a version
- Commit messages should be subjectless
e.g. Add README.md
e.g. Fix ...
- Comments within the PR should only be resolved by the person who made the comment.
- PR should be concise; don't try to fix/introduce more than one thing
- Do not include/push secret/credential information
- The code should comply with the existing code standards and previously established coding standards. No new standards
should be introduced, and if they are, the reasons for their addition should be stated, with the expectation that this
structure will be applied to the entire project.
- Pull Request Headers should follow the below `Naming Conventions of Pull Requests` header.

**Naming Conventions of Branchs**

- `bugfix/{issue-number}/{optional-description}`
- Ex: `bugfix/0/authentication-flow` or `bugfix/0`
- `feature/{issue-number}/{optional-description}`
- Ex: `feature/0/admin-register-flow` or `feature/0`
- `refactor/{issue-number}/{optional-description}`
- Ex: `refactor/0/tests-classes` or `refactor/0`
- `hotfix/{issue-number}/{optional-description}`
- Ex: `hotfix/0/authorization-flow` or `hotfix/0`

**Naming Conventions of Pull Requests**

- `#{issue-number} | {header-for-summary-of-development}`
- Ex: `#0 | Authentication/Authorization Flows Has Been Created`

## Docker Image Name Conventions

Docker images should be tagged as "org-name/project-name:version" e.g. "ays/ays-be:v1.0"
"ays/ays-be" indicates the latest version.

### Versioning

The project follows [the semantic versioning](https://semver.org/) i.e. MAJOR.MINOR.PATCH e.g. v1.9.9.
---

## Project Documents

For other information, you can contact the project's [Discord channel](https://discord.gg/HeunQcqg).
For other information, you can check [Confluence](https://afetyonetimsistemi.atlassian.net/wiki/spaces/AYS/overview)
Page.

---

Expand Down

0 comments on commit 7f1e335

Please sign in to comment.