Skip to content

Latest commit

 

History

History
308 lines (210 loc) · 10.8 KB

Contribution.md

File metadata and controls

308 lines (210 loc) · 10.8 KB

Contributing Guidelines 🎯

This documentation contains a set of guidelines to help you during the contribution process.
We are happy to welcome all contributions from anyone willing to improve or add new features to this repository.


Code of Conduct 📃

Please read and follow our Code of Conduct.


Star our Repository ⭐

Stars Forks Issues PRs Open PRs Closed


Need Help With The Basics? 🤔

If you're new to Git and GitHub, no worries! Here are some useful resources:


Project Structure 📂

UBER-LIKE/
├── .github/                  # GitHub-related configurations such as workflows, issue templates, etc
│   
├── backend/                  # All the backend file components are included here
│   
├── frontend/                 # All the frontend file components are included here
│   
├── kubernetes/               # All the .yml files are included here
│     
├── .env.example               
│   
├── .gitignore  
│   
├── Code_Of_Conduct.md        # Some rules for the contributors
│   
├── Contribution.md           # Instructions for the contributors
│   
├── docker-compose.yml        
│   
├── LICENSE                   # A permission to do something
│   
├── package-lock.json
├── 
├── package.json          
├── 
├── Readme.md                 # Some instructions related to the project

Prerequisites ✍️

Before getting started, ensure you have the following tools installed:

  • Docker
  • Kubernetes
  • GitHub account
  • DockerHub account
  • Node.js (version >= 14.x)
  • npm (version >= 6.x)

You can check if Node.js and npm are installed by running:

node -v
npm -v

Setting Up the Project ✨

  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

git clone https://github.com/<your-github-username>/Uber-like.git
  1. Navigate to the project directory
cd Uber-like
  1. Create a new branch
git checkout -b <your_branch_name>
  1. To make changes
git add .
  1. Now to commit
git commit -m "add comment according to your changes or addition of features inside this"
  1. Push your local commits to the remote repository
git push -u origin <your_branch_name>
  1. Create a Pull Request

  2. 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 repository yet, you can do so by clicking on the "File" menu and selecting "Clone Repository."
  • Choose the project 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.
  1. Make Changes:
  • Make your changes to the code or files in the repository using your preferred code editor.
  1. 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.
  1. 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.
  1. Create a Pull Request:
  • Go to the GitHub website and navigate to your fork of the project repository.
  • You should see a button to "Compare & pull request" between your fork and the original repository. Click on it.
  1. 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.
  1. 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 repository.

For Help And Support 💬


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.

Writing Commit Messages 🪧

Please write a great commit message.

  1. Separate subject from body with a blank line.
  2. Limit the subject line to 50 characters.
  3. Capitalize the subject line.
  4. Do not end the subject line with a period.
  5. Use the imperative mood in the subject line (example: "Fix networking issue").
  6. Wrap the body at about 72 characters.
  7. Use the body to explain why, not what and how (the code shows that!).

Example:

[TAG] Short summary of changes in 50 chars or less

Add a more detailed explanation here, if necessary. Possibly give 
some background about the issue being fixed, etc. The body of the 
commit message can be several paragraphs. 

Resolves: #123
See also: #456, #789

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! 🚀

Pull Request Guidelines 🗃️

  • Ensure the PR passes all tests.
  • Be responsive to feedback from maintainers or reviewers.

Issue Report Process 📌

  • Check if the issue is already reported in the issues section.
  • If not, open a new issue with detailed steps to reproduce the bug.
  • Be sure to include details such as the version of the project you are using, your operating system, and any relevant logs.

Requesting Features 🏷️

  • To request a new feature, open an issue using the Feature Request template.
  • Clearly describe the problem you want to solve and why it is essential.
  • If possible, provide mockups or examples to illustrate the proposed feature.

Commit Convention 🔨

When you create a commit, follow this convention:
category(scope or module): message
Use one of the following categories:

  • feat / feature: New code or features.
  • fix: Bug fixes (mention the issue if present).
  • refactor: Code-related changes that are not fixes or new features.
  • docs: Documentation changes (e.g., README updates).
  • build: Build or dependency changes.
  • test: Changes to test code.
  • ci: Continuous integration configuration changes.
  • chore: Miscellaneous changes that don't fit into the above categories.

Example:

feat(components): add new prop to the avatar component

License 🗝️

By contributing, you agree that your contributions will be licensed under the MIT License.

Tip from us 😇

It always takes time to understand and learn. Don't worry, you’ve got this! 💪

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! 🚀