From 47ec3cc85a5fc98182056c8db394fb73bb8f917c Mon Sep 17 00:00:00 2001 From: Milan P Samuel Date: Fri, 18 Oct 2024 15:04:46 +0530 Subject: [PATCH] Done some enhancements and also added some new sections --- Contributing.md | 254 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 213 insertions(+), 41 deletions(-) diff --git a/Contributing.md b/Contributing.md index 0445370..31c8b2e 100644 --- a/Contributing.md +++ b/Contributing.md @@ -1,39 +1,210 @@ +# Contributing to LibraryMan-API 🀩 +Thank you for considering contributing to LibraryMan! We welcome contributions from everyone. Before you get started, please review our contribution guidelines below. -# Contributing to LibraryMan-API +
-Thank you for considering contributing to LibraryMan! We welcome contributions from everyone. Before you get started, please review our contribution guidelines below. +# Code Of Conduct + +Please adhere to this project's [`code_of_conduct.md`](https://github.com/ajaynegi45/Library-API/blob/main/code_of_conduct.md). + +
+ +# Need Help with the Basics? πŸ€” + +If you're new to Git and GitHub, no worries! Here are some useful resources: + +- [Forking a Repository](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) +- [Cloning a Repository](https://help.github.com/en/desktop/contributing-to-projects/creating-an-issue-or-pull-request) +- [How to Create a Pull Request](https://opensource.com/article/19/7/create-pull-request-github) +- [Getting Started with Git and GitHub](https://towardsdatascience.com/getting-started-with-git-and-github-6fcd0f2d4ac6) +- [Learn GitHub from Scratch](https://docs.github.com/en/get-started/start-your-journey/git-and-github-learning-resources) + +
+ +# Project Structure πŸ“‚ + +```bash +LIBRARYMAN-API/ +β”œβ”€β”€ .github/ # GitHub-related configurations such as workflows, issue templates, etc. +β”‚ +β”œβ”€β”€ .mvn/ # Maven-related files and configurations. +β”‚ +β”œβ”€β”€ api-docs/ # API documentation files and resources. +β”‚ +β”œβ”€β”€ notification-docs/ # Documentation related to notifications. +β”‚ +β”œβ”€β”€ project-structure/ # Project structure guidelines or related documents. +β”‚ +β”œβ”€β”€ src/ # Source code of the project. +β”‚ +β”œβ”€β”€ .gitignore # Git ignore file to specify which files and directories to ignore in Git. +β”‚ +β”œβ”€β”€ Code_of_Conduct.md # Guidelines and expectations for contributors' behavior. +β”‚ +β”œβ”€β”€ Contributing.md # Instructions for contributing to the project. +β”‚ +β”œβ”€β”€ LICENSE # License information for the project. +β”‚ +β”œβ”€β”€ mvnw # Maven wrapper script for Unix-like systems. +β”œβ”€β”€ mvnw.cmd # Maven wrapper script for Windows systems. +β”œβ”€β”€ pom.xml # Project Object Model file for Maven, containing project configuration. +β”œβ”€β”€ README.md # Readme file providing an overview of the project. +``` + +
+ +# First Pull Request ✨ + +1. **Star this repository** + Click on the top right corner marked as **Stars** at last. + +2. **Fork this repository** + Click on the top right corner marked as **Fork** at second last. + +3. **Clone the forked repository** + +```bash +git clone https://github.com//LibraryMan-API.git +``` + +4. **Navigate to the project directory** + +```bash +cd LibraryMan-API +``` + +5. **Create a new branch** + +```bash +git checkout -b +``` + +6. **To make changes** + +```bash +git add . +``` + +7. **Now to commit** + +```bash +git commit -m "add comment according to your changes or addition of features inside this" +``` + +8. **Push your local commits to the remote repository** + +```bash +git push -u origin +``` + +9. **Create a Pull Request** + +10. **Congratulations! πŸŽ‰ you've made your contribution** + +
+ +# Alternatively, contribute using GitHub Desktop πŸ–₯️ + +1. **Open GitHub Desktop:** + Launch GitHub Desktop and log in to your GitHub account if you haven't already. + +2. **Clone the Repository:** +- If you haven't cloned the Project-Guidance repository yet, you can do so by clicking on the "File" menu and selecting "Clone Repository." +- Choose the Project-Guidance repository from the list of repositories on GitHub and clone it to your local machine. + +3.**Switch to the Correct Branch:** +- Ensure you are on the branch that you want to submit a pull request for. +- If you need to switch branches, you can do so by clicking on the "Current Branch" dropdown menu and selecting the desired branch. + +4. **Make Changes:** +- Make your changes to the code or files in the repository using your preferred code editor. -## Table of Contents -- [Getting Started](#getting-started) -- [Opening a Pull Request](#opening-a-pull-request) -- [Contribution Guidelines](#contribution-guidelines) -- [Commit Messages](#commit-messages) -- [Creating Issues](#creating-issues) -- [Giving Feedback](#giving-feedback) - -## Getting Started - -1. **Fork the repository** to your own GitHub account. -2. **Clone the repository** to your local machine: - ```bash - git clone https://github.com/YOUR_USERNAME/LibraryMan-API.git - ``` -3. **Set up the project** by following the instructions in the `README.md` file. -4. **Make the changes** you want to contribute to the project. -5. **Test your code** before submitting the pull request. - -## Opening a Pull Request - -In brief: -- Commit your changes and ensure your commit messages adhere to the guidelines. -- Create a new branch for your changes: - ```bash - git checkout -b - ``` -- Open a pull request and wait for approval from the maintainer to merge your changes. - -## Contribution Guidelines +5. **Commit Changes:** +- In GitHub Desktop, you'll see a list of the files you've changed. Check the box next to each file you want to include in the commit. +- Enter a summary and description for your changes in the "Summary" and "Description" fields, respectively. Click the "Commit to " button to commit your changes to the local branch. + +6. **Push Changes to GitHub:** +- After committing your changes, click the "Push origin" button in the top right corner of GitHub Desktop to push your changes to your forked repository on GitHub. + +7. **Create a Pull Request:** +- Go to the GitHub website and navigate to your fork of the Project-Guidance repository. +- You should see a button to "Compare & pull request" between your fork and the original repository. Click on it. + +8. **Review and Submit:** +- On the pull request page, review your changes and add any additional information, such as a title and description, that you want to include with your pull request. +- Once you're satisfied, click the "Create pull request" button to submit your pull request. + +9. **Wait for Review:** +Your pull request will now be available for review by the project maintainers. They may provide feedback or ask for changes before merging your pull request into the main branch of the Project-Guidance repository. + +
+ +# For Help And Support πŸ’¬ + +- Admin :- Ajay Negi +- Discord :- [Discord](https://discord.gg/https://discord.gg/68De2PvDdR) + +
+ +# Good Coding Practices πŸ§‘β€πŸ’» + +1. **Follow the Project's Code Style** + + - Maintain consistency with the existing code style (indentation, spacing, comments). + - Use meaningful and descriptive names for variables, functions, and classes. + - Keep functions short and focused on a single task. + - Avoid hardcoding values; instead, use constants or configuration files when possible. + +2. **Write Clear and Concise Comments** + + - Use comments to explain why you did something, not just what you did. + - Avoid unnecessary comments that state the obvious. + - Document complex logic and functions with brief explanations to help others understand your thought -process. + +3. **Keep Code DRY (Don't Repeat Yourself)** + + - Avoid duplicating code. Reuse functions, methods, and components whenever possible. + - If you find yourself copying and pasting code, consider creating a new function or component. + +4. **Write Tests** + + - Write unit tests for your functions and components. + - Ensure your tests cover both expected outcomes and edge cases. + - Run tests locally before making a pull request to make sure your changes don’t introduce new bugs. + +5. **Code Reviews and Feedback** + + - Be open to receiving constructive feedback from other contributors. + - Conduct code reviews for others and provide meaningful suggestions to improve the code. + - Always refactor your code based on feedback to meet the project's standards. + +
+ +# Pull Request Process πŸš€ + +When submitting a pull request, please adhere to the following: + +1. **Self-review your code** before submission. πŸ˜€ +2. Include a detailed description of the functionality you’ve added or modified. +3. Comment your code, especially in complex sections, to aid understanding. +4. Add relevant screenshots to assist in the review process. +5. Submit your PR using the provided template and hang tight; we'll review it as soon as possible! πŸš€ + +
+ +# Issue Report Process πŸ“Œ + +To report an issue, follow these steps: + +1. Navigate to the project's issues section :- [Issues](https://github.com/ajaynegi45/LibraryMan-API/issues) +2. Provide a clear and concise description of the issue. +3. Wait until someone looks into your report. +4. Begin working on the issue only after you have been assigned to it. πŸš€ + +
+ +## Contribution Guidelines πŸ“œ - Contributions such as low-code improvements, new features, and bug fixes are highly appreciated. - Feel free to open issues regarding bugs, doubts, or setup problems. @@ -42,7 +213,9 @@ In brief: - Use clear and descriptive titles for your pull requests summarizing your changes. - If your pull request addresses an issue, include the issue number in the PR title. -## Commit Messages +
+ +## Commit Messages πŸ“© - Use meaningful commit messages related to your changes. - Prefix your commit messages with the following: @@ -51,17 +224,16 @@ In brief: - `docs:` for documentation updates. - `chore:` for miscellaneous changes. -## Creating Issues - -- Use a clear and descriptive title for your issue. -- Provide references (links, file paths, screenshots) related to the issue. +
-- When suggesting new features, describe them in detail, including where you envision them in the project. - -## Giving Feedback +## Giving Feedback πŸ’« If you enjoy working with us, please give the project a ⭐ star! Your support means a lot and encourages further contributions. -Thank you for your interest in LibraryMan-API! We look forward to your contributions! ❀️ +
+ +# Thank you for contributing πŸ’— +We truly appreciate your time and effort to help improve our project. Feel free to reach out if you have any questions or need guidance. Happy coding! πŸš€ +## \ No newline at end of file