Skip to content

Latest commit

 

History

History
173 lines (98 loc) · 7.91 KB

CONTRIBUTING.md

File metadata and controls

173 lines (98 loc) · 7.91 KB

Contributing to Afet Yönetim Sistemi (AYS)

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.

Code of Conduct

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.

How to Contribute

Reporting Bugs or Issues

If you come across a bug or issue in Afet Yönetim Sistemi, please follow these steps:

  1. Check if the issue has already been reported by searching the issue tracker.

  2. 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.

Suggesting Enhancements

We welcome suggestions for new features or enhancements. To suggest an enhancement:

  1. Check the issue tracker to see if the enhancement has already been proposed.

  2. If not, open a new issue and describe your proposed enhancement in detail, including its use case and benefits.

Contributing Code

If you would like to contribute code to the project, please follow these steps:

  1. Fork the project repository to your own GitHub account.

  2. Create a new branch from the main branch for your work.

  3. Make your changes, adhering to the code style guidelines.

Getting Started

To get started with Afet Yönetim Sistemi project, follow these steps:

  1. Clone the project repository to your local machine:
git clone https://github.com/afet-yonetim-sistemi/ays-fe-institution.git
  1. Install the project dependencies:
npm install
  1. 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.

Development Standards

Our project adheres to the 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.

Pull Request Guidelines

When submitting a pull request, please adhere to the following guidelines:

  1. Title: Include a clear and descriptive title for your pull request.

  2. Description: Provide a detailed description of your changes in the PR description. Explain the problem you're solving or the enhancement you're introducing.

  3. 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).

  4. Focus: Keep your pull request focused and avoid bundling unrelated changes into a single PR. Each PR should address one specific issue or feature.

  5. 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.

  6. Code Style: Follow the code style guidelines outlined in the project's documentation to maintain a consistent codebase.

  7. 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.

  8. Responsiveness: Be responsive to any feedback or questions during the review process. Address reviewer comments promptly and make necessary revisions.

  9. Reviewers: Assign relevant reviewers to your PR. Reviewers may be maintainers or experienced contributors who can provide valuable feedback.

  10. 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.

Code Style

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.

Documentation

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.

Community

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.

License

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.