Hacktoberfest, the yearly open-source contribution event, has come to an end. This year is a bit different than previous years, as low-code & no-code contributions have also become accepted as part of Hacktoberfest, in addition to code contributions. In the spirit of sharing & contributing, let's take a look at the various contributions I managed to squeeze in during the month of October! 🎃
We are starting October off with contribution #1 and #2, a combination of a no-code and code contribution! On October 7th the yearly event Dutch Umbraco event DF22 took place, where I had the opportunity to attend as a speaker, talking about Discord in combination with Umbraco! To go along with this session, you can try out the open-source GitHub repository to go along with it using the following link!
Pull-request #1: https://github.com/umbraco/HacktoberfestActivityLog/pull/3
Pull-request #2: https://github.com/cornehoskam/Umbraco-DiscordBot/pull/4
Next up was an addition to the Umbraco documentation! After a session by Umbraco on the upcoming REST API implementation, I was searching through the documentation in order to find something Umbraco Heartcore related. This led me to the REST API page, but that was a dead end, as the original REST API has been deprecated. After some further looking about, it turns out the Heartcore API documentation was in a different section! I decided to add a follow-through from the REST API page to the Heartcore API page, so that others searching for the same thing wouldn't end up at a dead end like I did! 📡
Pull-request #3: https://github.com/umbraco/UmbracoDocs/pull/4469
The final bunch of contributions involve the new Umbraco Community Quiz, created by Paul Seal. After the initial announcement & launch of the platform over at DF22, I was eager to check out the source-code and see if I could contribute to this wonderful platform myself!
To celebrate the launch, my first contribution to the platform would be the addition of a new limited-edition Badge you could earn for signing in to the platform within a mount of it's initial launch, to attract more people over to the platform. After that, I had some back and forths with Paul about the ways we could improve the way Badges were awarded. As it stood right now, the various different badges you could earn were tightly coupled to controller actions, with a lot of duplicate code that was difficult to maintain. Various code contributions later, and everything having to do with badges has now been full decoupled from any platform logic!
Each notable action in the platform now sends out a Notification throughout the platform, which can be handled for various purposes. A couple examples would be an ProfileUpdatedNotification, MemberRegisteredNotification, or the QuizCompletedNotification! With the use of NotificationHandlers, we can now process the various Notifications, add in some additional logic for the individual badges, and we got ourselves a Decoupled Badging Engine! 🏅
All that was left for me to do was to add the various badges & refactor the Badge Service itself so that the logic within said service would be more developer friendly and easier to expand upon!
Pull-request #4: https://github.com/prjseal/Umbraco-Community-Quiz/pull/12
Pull-request #5: https://github.com/prjseal/Umbraco-Community-Quiz/pull/34
Pull-request #6: https://github.com/prjseal/Umbraco-Community-Quiz/pull/37
Pull-request #7: https://github.com/prjseal/Umbraco-Community-Quiz/pull/38
Pull-request #8: https://github.com/prjseal/Umbraco-Community-Quiz/pull/48
And there we have it, 8 code & no-code contributions to the open-source community in the month of October! While contributions shouldn't just be limited to a single event or a single time span, Hacktoberfest can be the perfect nudge into helping out our favorite creator, platform or community. If you are interested in contributing code, low-code, or no-code yourself, and/or are curious to learn more about the Hacktoberfest event, be sure to check out the Hacktoberfest website over at the following link: https://hacktoberfest.com/
That's all for me! If you have any further questions, feel free to contact me over at my socials available at the Contact page, and be sure to get on Hacking! 😄