diff --git a/.github/Contributor_Guide/Contributing.md b/.github/Contributor_Guide/Contributing.md index e3bc151..3b69da0 100644 --- a/.github/Contributor_Guide/Contributing.md +++ b/.github/Contributor_Guide/Contributing.md @@ -1,35 +1,142 @@ -# Contribute to +# Contributing to RBAC -Thank you for taking the time to contribute to ! We really appreciate it. +Thank you for taking the time to contribute to **RBAC**! πŸŽ‰ +We appreciate your interest and contributions β€” whether it's fixing bugs, improving documentation, or adding new features. -Before contributing, please make sure to read the [Code of Conduct](../../CODE_OF_CONDUCT.md). We expect you to follow it in all your interactions with the project. +Before contributing, please make sure to read our [Code of Conduct](../../CODE_OF_CONDUCT.md). +We expect all contributors to uphold it in all interactions related to this project. -## New to ? +--- -If you are new to , please take a look at the [documentation](./Project_Tour.md). It is a great place to start. +## 🧭 New to RBAC? -## New Contributor Guide +If you’re new here, start by exploring our [Project Tour](./Project_Tour.md) for an overview of the architecture, setup, and modules. +To understand the code structure, check out the [README.md](../src/README.md) file inside the `src` directory. -To get an overview of the codebase, check out the '[README.md](../src/README.md)' file in the `src` directory. +--- -that will help you understand the structure of the project. +## πŸ’‘ Ways to Contribute -## How to Contribute +There are many ways you can help make RBAC better! -### Reporting Bugs +### 🐞 Reporting Bugs +If you find a bug or an unexpected behavior: +1. Check existing [Issues](../../issues) to see if it’s already reported. +2. If not, [submit a new bug report](../ISSUE_TEMPLATE/bug_report.yaml). +3. Include clear steps to reproduce, expected vs actual behavior, and screenshots if relevant. -If you find a bug in the source code, you can help us by [submitting an issue](../ISSUE_TEMPLATE/bug_report.yaml). +--- -### Suggesting Enhancements +### πŸš€ Suggesting Enhancements +Have an idea to improve RBAC? We’d love to hear it! +- Submit a [Feature Request](../ISSUE_TEMPLATE/feature_request.yaml). +- Describe the motivation, proposed solution, and any possible alternatives. -If you want to suggest an enhancement to , please [submit an issue](../ISSUE_TEMPLATE/feature_request.yaml). +--- -### Pull Requests +### πŸ§‘β€πŸ’» Submitting a Pull Request (PR) -If you want to contribute to , submit a pull request. +We welcome pull requests for fixes, features, and docs improvements. -- url: `https://github.com/OPCODE-Open-Spring-Fest//compare/branch...YOURGITHUBUSERNAME::BRANCH?quick_pull=1&template=pr.md` +#### πŸ”„ Fork & Clone +1. Fork the repository: + ```bash + git clone https://github.com/YOUR_GITHUB_USERNAME/RBAC.git + cd RBAC + ``` +2. Create a new branch for your feature or fix: + ```bash + git checkout -b feature/your-feature-name + ``` -### Requirements +#### 🧩 Make Your Changes +- Follow existing code style and conventions. +- Add comments and documentation where needed. +- Test your changes before committing. -### Setup +#### 🧾 Commit Your Changes +Use **conventional commit messages** (for example): +``` +fix: resolve login redirect bug +docs: update API setup instructions +feat: add JWT-based role validation middleware +``` + +#### πŸ“¬ Push and Create a PR +Push your branch and open a pull request using the following URL: +``` +https://github.com/OPCODE-Open-Spring-Fest/RBAC/compare/main...YOUR_GITHUB_USERNAME:RBAC:BRANCH?quick_pull=1&template=pr.md +``` + +Your PR should: +- Clearly describe the changes. +- Reference related issues (e.g., β€œCloses #23”). +- Include screenshots or logs if relevant. + +--- + +## βš™οΈ Local Setup + +To set up the project locally: + +```bash +git clone https://github.com/OPCODE-Open-Spring-Fest/RBAC.git +cd RBAC +npm install +npm run dev +``` + +> πŸ’‘ Ensure Node.js and npm are installed before running the project. + +--- + +## βœ… Code Guidelines + +- Follow **ESLint** rules configured in the project. +- Write meaningful commit messages and pull request titles. +- Keep PRs focused β€” one purpose per PR. +- Update or add relevant documentation when changing code. + +--- + +## πŸ§ͺ Testing + +Run the test suite before submitting your PR: + +```bash +npm test +``` + +If you add new functionality, include corresponding unit tests. + +--- + +## 🧱 Branch Naming Convention + +Please follow this format for branch names: +- `feat/` – for new features +- `fix/` – for bug fixes +- `docs/` – for documentation +- `refactor/` – for refactoring + +Example: +``` +feat/add-role-based-access +fix/login-redirect-error +docs/update-readme +``` + +--- + +## πŸ™Œ Need Help? + +If you’re stuck or need clarification: +- Open a **discussion** in the [GitHub Discussions](../../discussions) tab. +- Or ask in the issue thread related to your contribution. + +--- + +## πŸ’¬ Attribution + +This project follows open-source best practices. +Inspired by contributing guides from [Contributor Covenant](https://www.contributor-covenant.org/) and [GitHub Docs](https://docs.github.com/en/get-started/quickstart/contributing-to-projects).