Welcome to **DevsInTech**✨, and thank you for your interest in contributing! After reading this documentation you'll be able to contribute efficiently to our project. Tip: Use the Table of Contents to navigate through the document quickly.
- Resources for new contributors
- How to get started
- How to set up your Development Environment
- How to Contribute
- Code of Conduct
- Community Guidelines
- Licensing
Are you new to open source? or to open source contributions in general? Well, you came to the right place: here are some resources to help you get started contributing to open source.
- Learn Git and GitHub from scratch - This tutorial explains Git and GitHub for version control and collaborative coding.
- Complete Guide to Open Source - How to Contribute - Learn about how to find projects to contribute to, how to make issues and PRs, and more.
- Learn Git Branching - This website provides an interactive platform for learning and practicing Git commands and branching strategies.
- GitHub Training Kit - It contains cheatsheets and training manuals in multiple languages
- Git and GitHub for Beginners - Crash Course - This tutorial explains users how to effectively utilize Git version control within the Visual Studio Code editor
- GitHub Documentation - Contains essential guides for mastering GitHub's features
Before making any changes to this repository, please take your time to go through our project and become familiar with our vision for it. After that, discuss your proposed modifications to improve our project with the repository owners and mentors. Feel free to use issues, email, or any other convenient method of communication to initiate the discussion.
It's worth noting that we have a Code of Conduct in place, and we kindly ask that you follow it when engaging with the project. We appreciate your cooperation and respectful interactions.
Before you start, you must install the necessary tools mentioned below onto your device.
-
Clone the Forked Repository to your local machine.
git clone https://github.com/YOUR_USER_NAME/DevsInTech.git
-
Change the working directory.
cd DevsInTech
-
Install all dependencies.
pnpm i
-
Start the application.
pnpm dev
-
Visit http://localhost:3000 to view the application
-
Fork the repo.
-
In the forked repository click Open with GitHub Desktop (make sure to download GitHub Desktop here)
-
Once GitHub Desktop opens up, make sure "To contribute to the parent project" option is selected and then click on Continue
-
Finally, open the project in your preferred code editor. (Warning: To contribute to the project, all code and documentation modifications should be committed to a separate branch rather than main/master.)
Your contributions, whether code-related or not, are highly valued and appreciated. Every contribution, no matter how small, helps make the project better. Outlined below are several ways you can contribute to the project.
GitHub issues are a way to track and manage tasks, bugs, and discussions in a project. You can find the issues tab within a GitHub repository, usually located in the navigation menu at the top of the repository page.
Raising an issue involves creating a new entry in the repository's issue tracker to report problems, suggest improvements, or start discussions, facilitating collaboration and issue resolution. Note: Always look for existing issues that are similar to the one you want to raise. If you find any, please do not raise the same issue again; otherwise, you may continue to raise your issue.
You can raise an issue by visiting the issues page and clicking the green New issue button.
By choosing the correct issue type, such as bug report, feature request, documentation update, or any other types of issues, you provide clarity and help streamline the issue management process for project maintainers and other contributors.
When reporting bugs on GitHub, it is important to include the following information:
- Steps to reproduce the bug.
- Error messages encountered, if any.
- Screenshots or visual examples illustrating the issue.
- Any relevant code snippets or configuration settings.
- Details about the environment (operating system, browser, etc.).
- Any specific inputs or conditions that trigger the bug.
- Additional observations or context that may be helpful in understanding the problem.
This helps expedite the identification and resolution of the bug.
When reporting a documentation issue or update, it is important to provide clear details and suggestions for improvement. Here are the key points to include:
- Clearly describe the problem or issue with the documentation.
- Identify the specific section or page of the documentation where the problem exists.
- Suggest specific improvements, corrections, or additions to address the issue.
- Provide examples or code snippets that can help illustrate the problem or proposed changes.
- Mention any confusion or misunderstandings caused by the current documentation.
- Offer any additional context or information that can assist in resolving the issue.
When submitting a feature request, it is important to provide clear details and suggestions to help project maintainers and contributors understand and evaluate your request. Here are the key points to include:
- Clearly describe the feature you are requesting, including its purpose and the problem it aims to solve.
- Explain the potential benefits and impact of implementing the requested feature.
- Consider including any relevant examples, code snippets, or mock-ups to illustrate your request.
- Explain how the requested feature aligns with the goals and scope of the project.
When suggesting a style change on GitHub, it is important to provide clear details and explanations to help project maintainers and contributors understand the proposed change. Here are the key points to include as bullet points:
- Clearly describe the specific aspect of the project's style that you would like to change.
- Explain the rationale behind the suggested style change and why it would be beneficial.
- Provide specific examples or comparisons to illustrate the current style and the desired style.
- Offer any additional context or information that can assist in evaluating and implementing the style change.
Note: If the issue you wish to raise does not fit into one of these categories, create a blank issue.
If you'd like to solve an issue, you can browse our list of open issues in the repository or on our issue tracker. Using relevant labels, you can identify issues which you are capable of resolving. Some of these labels are listed below:
GSSoC23
- This label is assigned to those who want to work on an issue under GSSoC23
Level 1
- 10 Points (Docs/Minor bugs)
Level 2
- 25 Points (Enhancement of Exisiting feature)
Level 3
- 45 Points (Refactoring/adding functionalities)
question
- Further information is requested
under review
- PR is under review by maintainers.
bug
- Something isn't working
documentation
- Improvements or additions to documentation
duplicate
- This issue or pull request already exists
enhancement
- New feature or request
good first issue
: Good for new contributors
help wanted
- Extra attention is needed
invalid
- This doesn't seem right
wontfix
- This will not be worked on
If the issue is unassigned and you are interested in working on it, comment on the issue expressing your intention to contribute and ask to be assigned. Alternatively, if self-assignment is allowed, you can assign yourself to the issue. Discuss your approach with maintainers and contributors to align efforts and receive feedback.
Before you create a pull request, please take a moment to review the guidelines outlined below. Following these guidelines will help ensure a smooth and efficient collaboration process.
Make sure to commit following the Conventional Commits Standards. Your commit message should follow the pattern: <type>[optional scope]: <description>
type
refers to :
- feat: A new feature
- fix: A bug fix
- refactor: Code refactoring
- test: Additions or modifications to test cases
- docs: README, or anything related to documentation
- chore: Regular code maintenance
scope
(optional) refers to the section of the codebase you're working on (eg. api, frontend, backend)
description
: A short summary providing additional contextual information about the code changes.
Read more about Conventional Commits
-
If you have already forked the project, update your copy before working.
git remote update git checkout <branch-name> git rebase upstream/<branch-name>
⚠️ Warning: Avoid commting changes in the Main Branch⚠️ -
Create a new branch for your changes: Note: Creating a new branch allows for isolated development and avoids merge conflicts while making PRs
git checkout -b my-branch #Utilize the branch name to specify the type of issue you are addressing, whether it's a feature, bug fix, or enhancement.
-
Commit and push your changes to your forked repository: Note: A PR should have only one commit. Multiple commits should be squashed. Always write a clear log message for your commits. One-line messages are fine for small changes, but bigger changes should be more descriptive.
-
Make sure all of your commits are atomic (one feature per commit).
git add . git commit -m "Add my changes" git push origin my-branch
-
Go to your repository in browser and click on compare and pull requests. Then add a title and description to your pull request that explains your contribution.
- Create a new branch for your changes:
- Open your external code editor and connect to the repository. When you're through with your changes, commit and push them to your forked repository.: Note: Always write a clear log message for your commits. One-line messages are fine for small changes, but bigger changes should be more descriptive.
- Click on Push origin or press
Ctrl
+P
or⌘
+P
to push your commits to the branch of your repository on Github. Learn more GitHub Desktop keyboard shortcuts here. - Go to your repository in browser and click on compare and pull requests. Then add a title and description to your pull request that explains your contribution or press
Ctrl
+R
or⌘
+R
on the keyboard in GitHub Desktop.
- Clear and Descriptive Title: Provide a concise, descriptive title for your PR.
- Detailed Description: Include a thorough description of your changes.
- List specific changes made in a clear and concise manner. Mention any major code modifications, added functionality, or removed features.
- Create a checklist to help maintainers review the changes more effectively.
- Include screenshots or GIFs showcasing visual changes or new features.
- Mention any additional information or considerations that might be relevant.
- Be responsive to any feedback or change requests during the review process.
Note: Getting started with GitHub Desktop will guide you through setting up Desktop. Once Desktop is set up, you can use it to fork the repo!
By participating and contributing to this project, you agree to adhere to this Code of Conduct throughout your involvement. We appreciate your cooperation in fostering a positive and inclusive community for all.
Join our community chat on discord to engage with other contributors and maintainers. Feel free to ask questions or seek clarification on any aspects of the project.
By contributing to this project, you agree that your contributions will be licensed under our project's license.