As we all know Hacktoberfest has already started and people are celebrating OpenSource by contributing to the OpenSource Project with a variety of contributions.
I have been contributing to OpenSource Project for one and a half years, which has helped me immensely in my professional and personal growth. So today I would like to share my OpenSource journey and how it has changed my life with the help of this article.
How it started
It all started with this YouTube video Free GitHub Bootcamp tutorial where I learned about github and OpenSource contribution. This video stimulated me to explore more about OpenSource and how can I contribute to OpenSource projects.
At the same time, I was also learning Django so I started finding a project which is based on Django. After exploring and spending some time on the github I found one project MumbleAPI (Backend/API for the mumble. dev, an OpenSource social media application).
Getting Started
If you are trying to use this project for the first time, you can get up and running by following these steps.
To contribute to this project, please see the contributing guidelines.
⚠ Note, this step assumes you are using github ssh keys for the git clone method
The Mumble Diagram
--> Preview :
--> Full View:
You can see clearly the diagram at :
Requirements
Technology | Version |
---|---|
Python | 3.x |
pip | latest version |
asgiref | 3.3.4 |
certifi | 2020.12.5 |
chardet | 4.0.0 |
coreapi | 2.3.3 |
coreschema | |
dj-database-url | 0.5.0 |
Django | 3.2 |
django-ckeditor | 6.0.0 |
django-cors-headers | 3.7.0 |
django-heroku | 0.3.1 |
django-js-asset | 1.2.2 |
djangorestframework | 3.12.4 |
djangorestframework-simplejwt | 4.6.0 |
dnspython | 2.1.0 |
email-validator | 1.1.2 |
gunicorn | 20.1.0 |
idna | 2.10 |
itypes | 1.2.0 |
Jinja2 | 3.0.0 |
MarkupSafe | 2.0.0 |
Pillow | 8.2.0 |
psycopg2 | 2.8.6 |
PyJWT | 2.0.1 |
pytz | 2021.1 |
PyYAML | 5.4.1 |
requests | 2.25.1 |
sentry-sdk | 1.0.0 |
six | 1.15.0 |
sqlparse | 0.4.1 |
typing-extension | 3.10.0.0 |
uritemplate | 3.0.1 |
urllib3 | 1.26.4 |
whitenoise | 5.2.0 |
Install and
…I had a project to contribute, but what to contribute was not clear. with the help of the project readme guide, I was able to set up the project locally. then I started exploring the project and finally found one thing where I can make my first contribution.
They had the API but documentation was missing, so I decided to make a contribution and add documentation for it.
Here is My First Pull Request, My First OpenSource Contribution ✨
Added API schema and documentation #100
Describe your changes :
I worked on the API documentation and schema because it is mandatory to have good documentation of An API.
Type of change :
- [x] New feature
Preview (Screenshots) :
Checklist:
- [x] I have read the Code Of Conduct document.
- [x] I have read the CONTRIBUTING document.
- [x] I have performed a self-review of my own.
- [x] I have tagged my reviewers below.
- [x] I have commented my code, particularly in hard-to-understand areas.
- [x] My changes generate no new warnings.
- [x] I have added tests that prove my fix is effective or that my feature works.
- [x] All new and existing tests passed.
Reviewers
Documentation: @midouwebdev, @abhivemp
I wanted to contribute more, and collaborate with more people. So I joined the EddieHub Community, where I learned the exact meaning of OpenSource and it was really simple Collaboration 1st, Code 2nd!.
I must say EddieHub Community is one of the great OpenSource communities, it provides you with the environment to grow as an OpenSource contributor and enhance your skills.
Thanks to Eddie Jaoude for building such a great community.
How I got my first job with the help of OpenSource Contribution
I would like to talk about this part because it is a common misconception that OpenSource contributions are not taken into consideration when applying for a job.
I began contributing to more OpenSource projects after my first contribution. My OpenSource work gave me a lot of confidence so I wrote OpenSource Contributor along with the names of the projects I contributed to in my resume.
Despite the job experience requirement, I was actively applying for jobs on LinkedIn. In the same way, I applied for Deuex Solutions Pvt Ltd and got a call from HR saying your resume has been shortlisted. If you respond to the mail, we will schedule an interview.
The interview was scheduled and I gave it, it went well, and I was selected. I got to know that my resume got selected because of the OpenSource Contributor part that I had in my resume after two months when I was in the office.
Thanks to Saloni Shah and Sanket Shah for providing me with this opportunity.
This is a sort summary of How I got my first job with the help of OpenSource Contribution
Things I learned from OpenSource Contribution
The first thing I would like to mention is that when you contribute to OpenSource, you learn something new or improve your existing skills.
The following things I learned from the OpenSource Contribution
- How to work with different people
- How to explain things to others
- How to ask for help
- How to help others
- How to learn from other people's work
- How to gain more experience from the process
The above learnings have helped me a lot in professional as well as personal growth.
Projects I have contributed to
In the span of one and a half years, I have contributed to many OpenSource Projects here are a few of them.
OpenMetadata
Open Standard for Metadata. A Single place to Discover, Collaborate and Get your data right.
open-metadata / OpenMetadata
OpenMetadata is a unified metadata platform for data discovery, data observability, and data governance powered by a central metadata repository, in-depth column level lineage, and seamless team collaboration.
Empower your Data Journey with OpenMetadata
What is OpenMetadata?
OpenMetadata is a unified metadata platform for data discovery, data observability, and data governance powered by a central metadata repository, in-depth column level lineage, and seamless team collaboration. It is one of the fastest-growing open-source projects with a vibrant community and adoption by a diverse set of companies in a variety of industry verticals. Based on Open Metadata Standards and APIs, supporting connectors to a wide range of data services, OpenMetadata enables end-to-end metadata management, giving you the freedom to unlock the value of your data assets.
Contents
OpenMetadata Consists of Four Main Components:
- Metadata Schemas: These are the core definitions and vocabulary for metadata based on common abstractions and types. They also allow for custom extensions and properties to suit different use cases and domains.
- Metadata Store…
ReactPlayIO
An Opensource platform for React developers to learn, create and share ReactJS Projects.
reactplay / react-play
react-play is an opensource platform that helps you learn ReactJS faster with hands-on practice model. It is a collection of projects that you can use to learn ReactJS.
ReactPlay(Repo: react-play
)
Learn . Create . Share about your ReactJS Development Journey
View Demo · Report Bug · Request Feature
👋 Introducing ReactPlay
react-play
is an open-source
web app that helps you learn ReactJS faster with a hands-on practice model. It is a collection of ReactJS projects
that you can use to learn ReactJS.
Is that all? Nope. You can also create your projects and share them with the world. The best part is that the ReactJS experts will review
your project code before it gets part of the ReactPlay
app. Isn't that a pure WIN-WIN?
🔥 Demo
Here is the link to the app. We hope you enjoy it.
Who doesn't want motivation and support? Many Thanks to all the Stargazers who have supported this project with stars(⭐). You all are amazing!!!
Please support the work by giving the repository a ⭐, contributing to…
LinkFree
OpenSource alternative to LinkTree
EddieHubCommunity / BioDrop
Connect to your audience with a single link. Showcase the content you create and your projects in one place. Make it easier for people to find, follow and subscribe.
Important
From 10 June 2024 BioDrop will be archived. What does this mean?
Profile
You will not be able to use your Profile from 10 June so remember to stop using your BioDrop url before then You will not be able to access your Dashboard (meaning you will not be able to see any Stats or make changes to your Profile) All database data will be deleted
GitHub Repo
No Issues or PRs can be raised
If you have an existing Issue or PR assigned to you this will not be reviewed/merged A big thank you to our users and contributors, without which this project would not have been possible.
Project renamed from LinkFree
to BioDrop
(please update your local git clones with the new remote name)
What is BioDrop?
A platform where people in tech can have a single hub to showcase their content in order to accelerate their…
OpenMetadata Docs
OpenMetadata docs page source code
open-metadata / docs
OpenMetadata docs page source code
OpenMetadata Docs
This is the main repository hosting the core implementation of the OpenMetadata docs.
The end-to-end setup is showcased in the figure below:
Then, the process of contributing to the docs depends on whether you are a core contributor and need to update the layout, components, styles, etc. or you are a content contributor.
I am a Content Contributor
Your role here is to update the markdown files and menu, i.e., anything content related without needing core changes in terms of layout, landing page, components...
Start the docs server
From the OpenMetadata repository, run make docker-docs
. This will pull the latest
published image from our docs in development mode. It also runs the container passing some volumes
that will pick up the content of the files under openmetadata-docs
. In there, you will find all the directories with content you might ever need to change:
-
content/
for the…
HackRPlay
Hack-R-Play is an initiative from the ReactPlay platform to help you hack, build, learn, and simultaneously contribute to OpenSource through hacktoberfest.
reactplay / activities
This project contains the code of the activities(hustles) webapp of ReactPlay.
Activities
A reactplay
hustle
This is a Next.js project.
Getting Started
-
Install dependencies
yarn
Note: We do check in yarn.lock file. So it's advised to use
yarn
package manager. If you need to use any other package manager, removeyarn.lock
file from the local directory first. Also, do not check in any other lock file. -
Create a
.env
file at the root of your project folder with the following content,NEXT_PUBLIC_NHOST_BACKEND_URL=https://rgkjmwftqtbpayoyolwh.nhost.run NEXT_PUBLIC_NHOST_SUBDOMAIN=rgkjmwftqtbpayoyolwh NEXT_PUBLIC_NHOST_REGION=ap-southeast-1 NEXT_PUBLIC_NHOST_PROTOCOL=https NEXT_PUBLIC_NHOST_SERVER=rgkjmwftqtbpayoyolwh.nhost.run NEXT_PUBLIC_NHOST_VERSION=v1 NEXT_PUBLIC_NHOST_ENDPOINT=graphql NEXT_PUBLIC_DEV_PORT=3000 NEXT_PUBLIC_PROTOCOL=http NEXT_PUBLIC_HACKATHON_ID=e606ae64-7c92-4344-94ad-4d0684458bcf NEXT_PUBLIC_HACKATHON_SUBMIT_STATUS_ID=ec1c0649-3b65-4809-92cf-9c4a6abdff1b
-
Run the development server:
npm run dev # or yarn dev
-
See your application running Open http://localhost:3000 with your browser to see the result.
React-awesome-shapes
Insert Awesome Shapes into Your React Site with Ease.
ashutosh1919 / react-awesome-shapes
🌀 Insert Awesome Shapes into Your React Site with Ease.
React Awesome Shapes
🌀 Insert Awesome Shapes into Your React Site with Ease.
Loved the project? Please consider donating to help it improve!
Consider following DevSense on YouTube.
If you want to discuss about something, then you can ask on official Discord Server.
⭐ Star us on GitHub — it helps!Getting Started 🎬
The easiest way to use one of the shapes from Awesome Shapes is to install the NPM package and import the particular shape to use it.
Install NPM Package
npm install react-awesome-shapes
Import And Use
import { ShapeName } from "react-awesome-shapes";
...
function ShapeComponent(props) {
return (
...
<ShapeName {...passParametersToCustomise} />
...
);
}
export default ShapeComponent;
The shapes are very easier to import and use wherever you want and in any web framework that uses NPM.
You can set different sizes…
I thank you for reading it to this point. In the next part, I will share other aspects of the project to contribute and the perks of OpenSource Contribution.
OpenSource Contribution is not only about coding
When I was exploring the OpenSource projects, I had a very common misconception that OpenSource is only about coding. but after contributing to one or two projects I got to know that there are other parts of the project where I can do my contribution.
The following are the other aspects of the project to contribute.
- If you like planning events you can help the project to organize the workshop or meetup
- You can help with the design by creating a style guide to help the project have a consistent design.
- You can write and improve the project documentation and You can write tutorials about the project.
- You can test the project and create an issue if any or You can request a new feature.
- You can help the project community by answering questions or moderating the discussion channels.
- You can review other people's submissions and provide valuable feedback
Perks of OpenSource Contribution
- When you contribute to OpenSource, you learn something new or improve your existing skills.
- In the OpenSource project, you work with different people, which means you will have to explain how things work and ask other people for help.
- It gives you an opportunity to see how others work and do things, which helps you gain more experience in the process.
Summary
Learning, teaching, and building experience can all be gained through contributing to OpenSource.
And that’s it for this topic. Thank you for reading.
Top comments (4)
I'm still in the "wandering aimlessly" phase of my journey. I enjoyed your post; this makes me want to dip my toes into open source contributing
Thanks for your kind words, glad you found it useful.
Great article, bravo!
Thanks man 😀