Introduction
Welcome 👋 to this blog. What is open-source? Did you hear about open-source and think "Can I contribute?" or thought "Is it difficult to contribute to open source?".
I know only HTML, CSS etc. Can I able to contribute? or I don't have an IT background Can I able to contribute?
If these types of questions come to your mind then this blog is for you 😊.
While reading and following the steps of this blog from beginning to end. I guarantee you will able to make a Pull Request and merge after review in this open-source web application. Please have a look at this web application.
Let's break down the part of contribution into steps:
- Fork the repository
- Clone the repository to your local system.
- Open it in code-editor
- Install dependencies(If needed)
- Make a separate branch and make your changes there.
- Commit and Push your changes to your forked repository.
- Make a Pull Request (PR).
Step 1 Fork the repository
To contribute to any open-source project you must make a fork of it. What do you mean by that? Let's understand it. Let's take an example of my repository The whole codebase is hosted in https://github.com/ankur0904/card by URL it is absolutely clear that the card repository belongs to the ankur0904 account. That means you or anyone in the world don't have permission to make changes in the repository.
But contributing to open source means you can contribute to this project. BUT HOW?? The solution is to make a copy of the same codebase with your account. You can do it by simply clicking the Fork button.
Go to this URL and click on the Fork button
Step 2 Clone the repository to your local system
The next step is to clone the repository to your local environment. For this copy the https URL.
After then open the terminal and run this command
$ git clone https://github.com/<YOUR_USERNAME>/card.git
Note: For cloning the repository you must have git installed on your local environment. If not installed, install it from here.
Step 3 Open it in code-editor
Open the cloned folder into your favourite code editors.
Step 4 Install dependencies
Open the integrated terminal into your code editors and run the following command to install the required dependencies (in this case node_modules)
$ npm install
If you want to start the project you can run this command
$ npm start
Then go to the web browser and open http://localhost:3000.
Note: For installing the dependencies and running the project you must have installed node.js into your local environment if not. Download it from here.
Step 5 Make a separate branch and make your changes
To make a separate branch, you can run this command
$ git branch <BRANCH_NAME>
To switch to the new created branch, you can run this command.
$ git checkout <BRANCH_NAME>
BRANCH_NAMEcan be anything related to the issue or feature, you are working on or some projects have guidelines for the branch name convention.
Make your changes
On checking the file structure, you will notice there is a file names data.js.
The content of data.js is like that
const data = [
{name: "Ankur Singh", technology: "Python, Javascript, C, C++", lastProject: "React.js", svg: `
<svg xmlns="http://www.w3.org/2000/svg" width="250" fill="currentColor" class="bi bi-emoji-laughing pt-4" viewBox="0 0 16 16">
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z" />
<path d="M12.331 9.5a1 1 0 0 1 0 1A4.998 4.998 0 0 1 8 13a4.998 4.998 0 0 1-4.33-2.5A1 1 0 0 1 4.535 9h6.93a1 1 0 0 1 .866.5zM7 6.5c0 .828-.448 0-1 0s-1 .828-1 0S5.448 5 6 5s1 .672 1 1.5zm4 0c0 .828-.448 0-1 0s-1 .828-1 0S9.448 5 10 5s1 .672 1 1.5z" />
</svg>
`,},
]
export default data;
In this file you will add your code(Contribution), you will add a JSON Object like this
{name: "", technology: "", lastProject: "", svg: ``},
name: Write name
technology: Technology name
lastProject: Last project built on
svg: svg element
If you don't want to fill all the field, you can leave it blank by simply adding
"-"
You can take the svg element from here. In the filter section type emoji and choose your desired emoji and copy the HTML. It will look like this
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-emoji-wink" viewBox="0 0 16 16">
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
<path d="M4.285 9.567a.5.5 0 0 1 .683.183A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .183-.683zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm1.757-.437a.5.5 0 0 1 .68.194.934.934 0 0 0 .813.493c.339 0 .645-.19.813-.493a.5.5 0 1 1 .874.486A1.934 1.934 0 0 1 10.25 7.75c-.73 0-1.356-.412-1.687-1.007a.5.5 0 0 1 .194-.68z"/>
</svg>
Note:
- In the
classattribute, we have thisbi bi-emoji-winkvalues, you please 🙏 add two another classpt-4andmy-svgto this and it'll look like thisbi bi-emoji-wink pt-4 my-svgand remove anyheightandwidthattributes (if present) - Add
svgelement in the (backtick) only.
Updated HTML element will look like this
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="bi bi-emoji-wink pt-4 my-svg" viewBox="0 0 16 16">
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
<path d="M4.285 9.567a.5.5 0 0 1 .683.183A3.498 3.498 0 0 0 8 11.5a3.498 3.498 0 0 0 3.032-1.75.5.5 0 1 1 .866.5A4.498 4.498 0 0 1 8 12.5a4.498 4.498 0 0 1-3.898-2.25.5.5 0 0 1 .183-.683zM7 6.5C7 7.328 6.552 8 6 8s-1-.672-1-1.5S5.448 5 6 5s1 .672 1 1.5zm1.757-.437a.5.5 0 0 1 .68.194.934.934 0 0 0 .813.493c.339 0 .645-.19.813-.493a.5.5 0 1 1 .874.486A1.934 1.934 0 0 1 10.25 7.75c-.73 0-1.356-.412-1.687-1.007a.5.5 0 0 1 .194-.68z"/>
</svg>
Everything till here is done. But let's cross-check. Your data.js folder will look something like that "" is filled with some data or -.
const data = [
{name: "", technology: "", lastProject: "",svg: ``},
{name: "", technology: "", lastProject: "",svg: ``},
]
export default data;
Step 6 Commit and Push your changes to your forked repository.
It's time to commit to your changes. You can think of committing as save. Run these commands
$ git add .
$ git commit -m "YOUR MESSAGE"
You can replace
YOUR MESSAGEwith any relevant message you want.
Time to push the code to your repository. To push run these commands
$ git push origin <BRANCH_NAME>
Step 7 Make a Pull Request
Then go to your profile and switch the branch to the new which is created by you.
There you see an option of Compare and Pull request Click on it and make a Pull Request.
You can change the title and description. You can write
Adds new profilein the title.
Congrats!🥳🥳🥳 You made your first open-source contribution.
I will merge your PR within 24 hours.
You got it 🤩
You have learned how to contribute to open-source projects. Thanks for reading till the end. If you have any feedback, the comment section is yours. If you find this blog useful you can star this repository and connect with me.
Hire me: ankursingh91002@gmail.com
LinkedIn
Twitter




Top comments (6)
Well done Ankur! I always appreciate individuals who assist and help others in getting involved in open source. Thanks for sharing!
Thank you :)
My pleasure!
:)
Good one, Ankur
Thank you so much.