Skip to content

Latest commit

 

History

History
128 lines (91 loc) · 5.6 KB

CONTRIBUTING.md

File metadata and controls

128 lines (91 loc) · 5.6 KB

I'd be glad to craft a comprehensive contributing.md guide specifically tailored to the Node.js Express API projects:

Welcome Contributors!

We appreciate your interest in contributing to the Node.js Express API and React.js project. Your contributions help us enhance and maintain this valuable resource.

Getting Started

  1. Fork the Repository:

    • Visit the project repository on GitHub.
    • Click the "Fork" button to create your own copy.
  2. Clone Your Fork:

    • Open a terminal window.
    • Use git clone https://github.com/<your-username>/minor-project.git to clone your forked repository locally.

3.1 Install Dependencies for backend:

  • Navigate to backend your cloned directory using cd backend.
  • Run npm install to install the required Node.js packages.

3.2 Install Dependencies for frontend:

  • Navigate to frontend your cloned directory using cd frontend.
  • Run npm install to install the required Node.js packages.
  1. Create a Branch:

    • Use git checkout -b <your-branch-name> to create a new branch for your changes.
    • Use descriptive branch names (e.g., backend/fix-route-handling, frontend/add-feature-x).
  2. Branch Naming Conventions for Contributors

Here's a common branch naming convention for contributors in Git projects:

  • Prefix:
    • Use a prefix to indicate the type of change. Common prefixes include:
      • feature/: For new features.
      • bugfix/: For bug fixes.
      • hotfix/: For critical bug fixes that need to be deployed urgently.
      • chore/: For changes that improve the development workflow but don't directly add features (e.g., documentation updates, dependency updates).
      • test/: For adding or modifying tests.
  • Description:
    • Briefly describe the change in a clear and concise way. Use kebab-case (lowercase words separated by hyphens).
  • Issue reference (optional):
    • If the branch relates to a specific issue in a tracking system (e.g., GitHub Issues), include the issue number after a hyphen (-).

Example:

frontend/feature/add-search-functionality  // Adds a search function to the application
backend/bugfix/login-page-crash           // Fixes a crash on the login page
backend/hotfix/critical-database-error     // Urgent fix for a critical database error
backend/chore/update-dev-dependencies     // Updates development dependencies
frontend/test/improve-unit-test-coverage   // Improves unit test coverage

Example for a Specific Issue

Let's say you're working on an issue reported on GitHub (#123) where users cannot upload profile pictures. Your branch name would follow the format:

bugfix/issue-123-cannot-upload-profile-picture

Example Commit Message

A good commit message should be clear, concise, and informative. Here's a common format:

  • Verb in imperative mood: Start the message with a verb in the imperative mood (e.g., fix, add, remove).
  • Brief description: Briefly describe the change made.
  • Issue reference (optional): Include a reference to the related issue number in brackets (e.g., [Fixes #123]).
  • Additional details (optional): You can add additional details about the change if necessary.

Example:

fronted-fix: Fixed issue where users cannot upload profile pictures [Fixes #123]

By following these conventions, contributors can ensure clear and consistent branching and version control within a project. Development Guidelines

  • Code Style: Adhere to consistent coding style throughout the project. Consider using a linter or code formatter like ESLint or Prettier.
  • Testing: Write unit tests for your changes using a testing framework like Jest or Mocha to ensure code quality and prevent regressions.
  • Documentation: Update relevant documentation (README.md, API docs) to reflect new features or bug fixes.
  • Commit Messages: Craft clear and concise commit messages that describe your changes. Utilize a format like "feat: Add feature X" or "fix: Resolve bug Y".
  • Type Safety (Optional): If the project doesn't currently use TypeScript, consider incorporating it for improved type checking and maintainability.

Contributing Methods

  1. Bug Fixes and Improvements:

    • Search open issues for bugs or areas that need improvement.
    • Comment on relevant issues to discuss potential solutions.
    • Create a pull request (PR) with your fix or changes.
  2. New Features:

    • Discuss new feature ideas with maintainers through issues or pull requests.
    • Ensure your feature aligns with the project's goals and scope.
    • Implement the feature in a separate branch, adhering to development guidelines.

Pull Request Process

  1. Push Your Changes:

    • Commit your changes with meaningful messages using git commit -m "<your-message>".
    • Push your branch to your forked repository using git push origin <your-branch-name>.
  2. Create a Pull Request:

    • Go to your forked repository on GitHub.
    • Navigate to your branch.
    • Click "Pull request" to create a PR.
  3. Address Feedback:

    • Respond to any comments or questions from maintainers promptly.
    • Make necessary adjustments based on feedback.

Code of Conduct

  • We value respectful and inclusive communication.
  • Please adhere to the project's code of conduct (if one exists).
  • Maintain a collaborative and professional tone in interactions.

Additional Tips

  • Break down complex changes into smaller, focused PRs for easier review.
  • Feel free to ask questions or seek clarification during the contribution process.
  • We appreciate your contributions!

Thank you for your interest in making the Node.js Express API project even better!