DEV Community

Cover image for Opening up my Open Source Projects for Hacktoberfest
Joe Mainwaring
Joe Mainwaring

Posted on • Updated on

Opening up my Open Source Projects for Hacktoberfest

Calling all beginners!

Are you interested in participating with Hacktoberfest, but find many of the projects a little complex to participate in? I have a couple opportunities for you!

NPM: Card-dealer

The card-dealer package was a simple package I created several years ago based on a coding test I had to take for a mid-level software engineering role. The runtime boasts no dependencies (only devDependencies!), but does with a curveball of a strict 100% test coverage requirement, but it could also be an opportunity to learn unit testing in a simple scenario!

Card Dealer is written in TypeScript and Markdown.

Participation Ideas

  • Add new decks to the package: My OSS package includes a standard 52-card deck and an Uno deck, but there are many other types of card decks out there! MGT, Pokemon, CAH, the list goes on. Lots of opportunity to be creative if you desire!
  • Add new dealer methods: So far I have implemented a core set of methods related to Dealer actions involving a deck of cards, but there may be more use cases with other decks.
  • Game Management: Currently, the scope of this package is exclusive to the actions around dealing cards, but I've contemplated adding more game management aspects to the package.
  • Add a feature that exits in a fork: Many forks exist because they required a slight variation to my implementation, which presents an easy opportunity to port those changes back!
  • Update documentation

giphy

Github Actions: Balena Push

Balena push is an open-source package that was born out of both need and opportunity with the introduction of Github Actions. At the time, I was using the IoT platform Balena.io to manage a fleet of Digital Signage (TVs with Raspberry Pis) within my company's office. The Github action enables you to continuously deliver your project to Balena by pushing changes to the platform.

Balena Push is written in Docker and Shell.

Participation Ideas

  • Pass Flags: Looking over the forks of my OSS package, I found that someone had forked purely to pass flags I didn't need when I authored the package. The linked ticket should help you get started.
  • Integrate further with the CLI: The Github Action itself just uses the Balena CLI to execute a push command. Take a look at Balena's CLI docs and if you see a way to extend, feel free to take a stab at it!
  • Add a feature that exits in a fork: Many forks exist because they required a slight variation to my implementation, which presents an easy opportunity to port those changes back!
  • Update Documentation

giphy

IoT: Digital Signage

Digital Signage is an open-source service that I put together to turn the Televisions around my company's office into useful displays for things like Activity Feeds (our own product) and Operational Dashboards (Datadog).

Participation Ideas

  • Update documentation: So I have a confession to make - I didn't write any docs for this project. I usually overlook this one when I talk OSS, but it is public and the project can be forked and reused by others. While the lack of a README is typically a barrier for participation, the project was born based on tutorials. Google balena-wpe to find numerous guides around the actual service driving the project.
  • Update the subpackage dependency: As mentioned above, my digital signage uses balena-wpe as a sub module, but hasn't been updated in ages. This is a good opportunity if you want to sharpen git skills.
  • Enhance the github project: Since I have overlooked this as OSS in the past, it doesn't have a lot of the enhancements I've made to other projects. I discuss many of these in my post How I maintain OSS, and several of these can be direct copies from the files I've added to my other OSS packages listed above.

giphy

Need Help?

Do you want to participate but not sure how to get something across the finish line? Open a Pull Request and we'll begin a discussion to help get your PR in an acceptable state to be merged. You may also DM me on Hacktober's Discord Server under the name mainwaring

Got an idea I didn't mention above? Start a conversation as an Issue.

Top comments (2)

Collapse
 
mpous profile image
Marc Pous

Hey Joe! Great ideas for the hacktoberfest!

Just to give more links to the balena push github actions you can find more ideas here: forums.balena.io/t/community-built...

Let us know if you need more help :)

Collapse
 
theaccordance profile image
Joe Mainwaring

Thank you for sharing! I must admit, it has been quite some time since I’ve revisited the Balena forums 😅