DEV Community

arinak1017
arinak1017

Posted on

Hacktoberfest 2024: 1st Contribution

Hello, World!

Hacktoberfest 11 has officially kicked off, marking my first time participating in this annual month-long Open Source event.

As a newbie to the Open Source community, I've decided to take things easy with my first Hacktoberfest Pull Request, looking for the simplest possible fixes (let the search for typos begin!).

Looking for the repo to contribute to

While reading the articles on participating in Hacktoberfest, I discovered a good strategy for finding issues: going to the GitHub Issues page and searching for issues labeled hacktoberfest and good first issue: issues with filters applied.

However, as I focused on finding spelling mistakes/typos for an easy first pull requests, I quickly realized that no one is making issues to check their README.md files for errors. So, my best bet was starting to look at the participating repositories in hopes of finding mistakes in their docs.

This approach led me to the Hacktoberfest topic page, where I sorted the repositories by the most recently updated (to quickly find active ones). And, after reviewing a few repos, I found a perfect candidate:

GitHub logo sparshg / battleship

Classic battleship game, two-player, online, deployed.

Battleship Online

Play the classic game of Battleship against your friends online! Each player will take turns guessing the location of the other player's ships. The first player to sink all of the other player's ships wins!

Dark mode Light mode

Development Guide

The client is built using SvelteKit (static site) and the server uses Axum framework (Rust). The client and server communicate using Socket.io (WebSockets). PostgreSQL is used as a database to store the game state.

The client can be started using npm run dev inside app directory.

The server and the database services are containerized. Just run docker compose up to start the server and database services if you are working on the frontend Make sure to make a .env file with these parameters:

DATABASE_PASSWORD=db_password
DATABASE_NAME=db_name
DATABASE_URL=postgres://postgres:db_password@localhost:5432/db_name

If you are working on the server, you can run cargo watch -i app -x run to automatically restart the server…

A rather simple but yet legitimate participating repository with a minor spelling mistake in the README.md.

My 1-st Hacktoberfest PR

When I spotted the spelling mistake (containArized instead of containErized) I quickly created an issue to point it out (issue #18).

Image description

Then, I forked the repo, corrected the spelling and created a Pull Request: (PR #19).

The owner of the repo was very kind. He merged my change that same day, encouraged me saying that: "correcting the docs is a great place to start", and even suggested to try out to fix one of the easier issues in his repo.

Thoughts

After getting my feet wet with my 1-st PR, i feel more confident in trying to tackle more complicated issues in the coming weeks. I now have a better understanding on how to find good first issues and feel more comfortable engaging with the larger Open Source community.

Top comments (0)