Skip to content

Commit 0d1aa26

Browse files
authored
AYS-409 | CONTRIBUTING.md File Has Been Improved (#368)
1 parent 79f5371 commit 0d1aa26

File tree

1 file changed

+83
-39
lines changed

1 file changed

+83
-39
lines changed

CONTRIBUTING.md

Lines changed: 83 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -21,41 +21,52 @@ you maintain a collaborative and inclusive environment for everyone involved.
2121

2222
Thank you for considering contributing to our project! To make the process smooth, please follow these steps:
2323

24-
1. **Fork the Repository:**
25-
- Visit our [GitHub repository](https://github.com/afet-yonetim-sistemi/ays-be) and fork it to your GitHub account.
26-
27-
2. **Create a New Branch:**
28-
- Create a branch for your contribution by referring to
29-
the [Naming Conventions of Branches](#branch-naming-conventions) for guidance.
30-
- Ensure your feature branch is associated with the corresponding GitHub issue from the 'Development' section in
31-
each issue page.
32-
33-
3. **Make Changes:**
24+
1. **Join Our Discord Server:**
25+
- Join our [Discord server](https://discord.com/invite/NkAkYajkKa) to engage with the community and project
26+
maintainers.
27+
- Navigate to the 'Environment Informations' section and find the GitHub thread. Leave a message in the thread to
28+
express your interest in contributing.
29+
30+
2. **Review Jira Issues:**
31+
- Access
32+
our [Jira Issues](https://afetyonetimsistemi.atlassian.net/jira/software/c/projects/AYS/issues/AYS-408?filter=allissues&jql=project%20%3D%20%22AYS%22%20AND%20status%20%3D%20Ready%20AND%20assignee%20%3D%20empty%20ORDER%20BY%20created%20DESC)
33+
to view the issues and development tasks.
34+
- Identify relevant issues or features you would like to work on.
35+
36+
3. **Cloning the Project:**
37+
- Once added to the GitHub organization, clone the repository from the organization’s GitHub page.
38+
- Clone the repository using the command: `git clone https://github.com/afet-yonetim-sistemi/ays-be`
39+
40+
4. **Create a New Branch:**
41+
- Create a branch for your contribution based on the `main` branch.
42+
- Refer to the [Naming Conventions of Branches](#branch-naming-conventions) for guidance on branch naming.
43+
- Ensure your feature branch is associated with the relevant Jira issue and GitHub issue if applicable.
44+
45+
5. **Make Changes:**
3446
- Implement your changes in the branch you created.
3547
- Thoroughly test your changes to ensure they work as expected.
3648

37-
4. **Commit Changes:**
38-
- Commit your changes with clear and concise messages. Refer to the [Commit Messages](#commit-messages) section for
39-
guidance.
49+
6. **Commit Changes:**
50+
- Commit your changes with clear and concise messages. Refer to the [Commit Messages](#commit-messages) section for
51+
guidance.
4052

41-
5. **Push Changes:**
42-
- Push your changes to your forked repository.
53+
7. **Push Changes:**
54+
- Push your changes to the `main` branch of your cloned repository.
4355

44-
6. **Open a Pull Request (PR):**
45-
- Open a PR against the `main` branch of the original repository by referring to
46-
the [Pull Request Naming Conventions](#pull-request-naming-conventions) for guidance.
56+
8. **Open a Pull Request (PR):**
57+
- Open a PR against the `main` branch of the original repository.
4758
- Provide a detailed description of your changes in the PR.
48-
- Link relevant issues or discussions in the PR description.
59+
- Link relevant Jira issues and GitHub issues in the PR description.
4960
- Follow the pull request naming conventions outlined below.
50-
- PR title should contain the issue/feature/bug number.
61+
- PR title should contain the Jira issue number and a brief description of the change.
5162

52-
7. **Review and Feedback:**
63+
9. **Review and Feedback:**
5364
- Once your PR is submitted, project maintainers will review it and provide feedback.
5465
- Be responsive to feedback and make necessary changes.
5566

5667
## Development Standards
5768

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

@@ -121,31 +132,64 @@ code style guidelines mentioned in the repository.
121132
Writing clear and descriptive commit messages is essential for the maintainability of the project. Follow these
122133
guidelines when writing commit messages:
123134

124-
- Limit the subject line to 50 characters.
125-
- Begin the subject line with a verb in the present tense (e.g., "Fix," "Add," "Update").
126-
- Use the imperative mood (e.g., "Fix bug" instead of "Fixed bug").
127-
- Provide additional details in the commit message body if necessary. Explain why the change was made and any relevant
128-
information for reviewers.
135+
- **Be Clear and Concise:**
136+
- Ensure the subject line clearly summarizes the change. While it’s useful to start with a verb (e.g., "Fix," "
137+
Add," "Update"), the main goal is to make sure the message is clear and easily understandable.
138+
139+
- **Provide Additional Details:**
140+
- Include additional details in the commit message body if necessary.
141+
- Explain the reason for the change and provide context to help reviewers understand the impact and purpose of the
142+
change.
129143

130-
Example:
144+
- **Squash and Merge:**
145+
- We use the Squash and Merge strategy for integrating pull requests. This method combines all commits in a pull
146+
request into a single commit before merging.
147+
- As a result, the pull request title becomes the final commit message. Ensure the title is descriptive and
148+
accurately reflects the overall change.
149+
- Example pull request title: `Enhance Error Handling in Payment Processing`
131150

132-
```
133-
Add feature to handle user authentication
151+
- **Example Commit Message:**
152+
```
153+
Add new endpoint to handle user authentication
134154
135-
- Implemented a new module for user authentication
136-
- Updated existing login page UI
137-
- Added new API endpoint for user registration
138-
```
155+
- AYS-0 : Add new POST endpoint to handle user login
156+
- Include validation for user credentials
157+
- AYS-0 | Authentication Flow Has Been Refactored
158+
```
159+
160+
By following these guidelines, you contribute to a clear and understandable project history, facilitating easier code
161+
reviews and collaboration.
139162

140163
## Testing
141164

142-
If you are contributing code changes, it is important to include appropriate tests to ensure the stability and
165+
If you are contributing code changes, it is crucial to include appropriate tests to ensure the stability and
143166
functionality of the project. Follow these guidelines when writing tests:
144167

145-
- Write tests that cover the new code you have added or modified.
146-
- Ensure your tests are easy to understand and maintain.
147-
- Run the existing test suite before submitting your changes to make sure they haven't introduced any regressions.
148-
- Provide instructions on how to run the tests if they require additional setup or specific commands.
168+
- **Unit Tests:**
169+
- Write unit tests to cover the new code you have added or modified.
170+
- Ensure that each unit test is focused on a single aspect of the code to make it easy to understand and maintain.
171+
172+
- **Integration Tests:**
173+
- Include integration tests to verify that different parts of the system work together as expected.
174+
- Make sure your integration tests cover scenarios where multiple components interact.
175+
176+
- **Manual Tests:**
177+
- Use Postman to write and execute manual tests for API endpoints and ensure they perform as intended.
178+
- Document any manual test cases in a way that they can be easily replicated.
179+
180+
- **Test-Driven Development (TDD):**
181+
- When applicable, adopt the TDD approach. Write your tests before implementing the new code to ensure your changes
182+
meet the required functionality from the start.
183+
184+
- **Run Existing Test Suite:**
185+
- Run the existing test suite before submitting your changes to ensure they haven't introduced any regressions.
186+
- Address any failing tests that might be impacted by your changes.
187+
188+
- **Instructions for Running Tests:**
189+
- Provide clear instructions on how to run the tests, including any additional setup or specific commands needed.
190+
191+
By following these guidelines, you help maintain the quality and stability of the project while making it easier for
192+
others to contribute and collaborate.
149193

150194
## Documentation
151195

0 commit comments

Comments
 (0)