Thank you for your interest in contributing to Afet Yönetim Sistemi project. We appreciate your help in making our project better and more useful to everyone. Before you get started, please take a moment to read and follow this guide to understand how you can contribute effectively.
Before you start contributing, please review our Code of Conduct. All contributors are expected to adhere to this code to ensure a respectful and inclusive community.
If you come across a bug or issue in Afet Yönetim Sistemi, please follow these steps:
-
Check if the issue has already been reported by searching the issue tracker.
-
If it hasn't been reported, open a new issue and provide detailed information about the bug, including how to reproduce it and what you expected to happen.
We welcome suggestions for new features or enhancements. To suggest an enhancement:
-
Check the issue tracker to see if the enhancement has already been proposed.
-
If not, open a new issue and describe your proposed enhancement in detail, including its use case and benefits.
If you would like to contribute code to the project, please follow these steps:
-
Fork the project repository to your own GitHub account.
-
Create a new branch from the
main
branch for your work. -
Make your changes, adhering to the code style guidelines.
To get started with Afet Yönetim Sistemi project, follow these steps:
- Clone the project repository to your local machine:
git clone https://github.com/afet-yonetim-sistemi/ays-fe-institution.git
- Install the project dependencies:
npm install
- Run the project locally:
npm run dev
Note that you need to install Node.js and npm to run the project locally. We recommend using version v18
of Node.js.
Our project adheres to the GitHub flow for collaboration. Issues are managed on GitHub Discussions, with plans to transition them to Jira.
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
{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.
When submitting a pull request, please adhere to the following guidelines:
-
Title: Include a clear and descriptive title for your pull request.
-
Description: Provide a detailed description of your changes in the PR description. Explain the problem you're solving or the enhancement you're introducing.
-
References: Reference any relevant issues or discussions in your PR description using GitHub's referencing syntax (e.g., "Fixes #123" to automatically link to issue 123).
-
Focus: Keep your pull request focused and avoid bundling unrelated changes into a single PR. Each PR should address one specific issue or feature.
-
Documentation: Ensure that your code changes are well-documented. Include code comments where necessary and update the project's documentation to reflect your changes, including user-facing documentation.
-
Code Style: Follow the code style guidelines outlined in the project's documentation to maintain a consistent codebase.
-
Testing: Write tests for your code and ensure that all existing tests pass. Include information on how to test your changes in the PR description if applicable.
-
Responsiveness: Be responsive to any feedback or questions during the review process. Address reviewer comments promptly and make necessary revisions.
-
Reviewers: Assign relevant reviewers to your PR. Reviewers may be maintainers or experienced contributors who can provide valuable feedback.
-
License: By submitting a pull request, you agree that your contributions will be licensed under the project's LICENSE.
Thank you for your contribution, and we appreciate your attention to these guidelines. Your cooperation helps streamline the review process and maintain code quality.
We follow a set of code style guidelines to maintain a consistent and readable codebase. These guidelines can typically be found in the project's documentation. Please make sure your code changes adhere to these guidelines.
-
Use consistent indentation and formatting.
-
Follow naming conventions for variables, functions, and classes.
-
Include meaningful comments to explain complex sections of code.
-
Organize and group related code together.
-
Ensure code readability by following best practices for the programming language used.
Before submitting your pull request, review your code changes against the project's code style guidelines and make any necessary adjustments.
Clear and up-to-date documentation is essential for the project's users and contributors. When making changes to the codebase, consider the following:
-
Update code comments to explain the purpose and functionality of your code.
-
Add or modify user-facing documentation to reflect your changes. This may include updating README files, user guides, or other documentation resources.
-
Ensure that your documentation is written in a clear and understandable manner.
-
Include information on how to use new features or functionality introduced by your code changes.
By improving and maintaining documentation alongside your code contributions, you help make the project more accessible and user-friendly.
Join our community discussions and help others on the project's GitHub Discussions page. Engaging with the community is a great way to learn, share knowledge, and collaborate with other contributors and users of the project.
In discussions, you can:
-
Ask questions about project functionality or usage.
-
Share your experiences and insights.
-
Offer help and guidance to other community members.
-
Participate in feature discussions and decision-making processes.
We encourage a friendly and inclusive atmosphere within our community, and your contributions to discussions are highly valued.
By contributing to Afet Yönetim Sistemi project, you agree that your contributions will be licensed under the project's LICENSE. Please review the project's license to understand the terms and conditions.
Your contributions are essential to the project's success, and we appreciate your dedication to making Afet Yönetim Sistemi better for everyone.