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:
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).
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.