Hacktoberfest just started, and I have just the right kind of project to show you if you want to contribute some Kotlin!
Hacktoberfest is a month-long celebration of open-source technology organized by DigitalOcean. If you’re new to development, a student, longtime contributor, event host, you can help drive open-source and offer significant contributions to an ever-growing community.
If you haven’t done so already, register for Hacktoberfest here.
Last year, I suggested in my article contributing to open-source is like dancing Tango to pick something meaningful but simple, and focus on the social side of programming: it’s all about creating a connection!
This year, I am launching a brand new project that is designed to make it easy for you to contribute something meaningful!
📚 The Kotlin Library Playground
There are great resources to learn Kotlin.
But once you master the language, you are not done just yet.
You now face another challenging task: become familiar with its ecosystem of libraries.
There are several inefficient ways to do that:
- reading tutorial after tutorial and being stuck in a loop where you “learn” about things you don’t practice,
- starting a new project from scratch for every library you come around — overwhelming,
- trying out the library in your main project at work — a project with a compilation time of 5 minutes, which uses an older version of the library than the tutorial assumes; not sure your colleagues will be happy that you introduce a dependency you don’t master yet.
The Kotlin Library Playground is crowdsourcing of sample usages from popular Java & Kotlin libraries.
It aims to give you a wider knowledge of what good libraries are available:
- Interested in networking? We have samples for OkHttp, Retrofit and Ktor-Client.
- Interested in testing? We have samples for junit-jupiter, kotest, spek, strikt, mockito, mockk, …
- Interested in databases? We have you covered with Sql Delight, Kodein DB and Exposed.
- Interested in trolling about what is The Best(tm) DI framework? We have samples for Dagger, Koin and Kodein.
- … you get the idea.
It is a non-goal to pick sides and say what library is best for a given topic.
Instead, what we give you is a starting point if you want to go deeper in your knowledge of some specific libraries particularly important for you: you already have a Gradle project setup with the dependencies, just follow the documentation and hack you way into more knowledge!
❤️ Contributors welcome!
Head over to the “issues” tab and select a library for which you feel like contributing a usage sample:
Your goal is to contribute to your library of choice a self-contained, simple yet meaningful sample.
Here is for example a sample for Moshi, a modern Json library for Kotlin and Java:
What do these 1–2–3–4 mean?
Thanks for asking, it is described in details in the CONTRIBUTING guide.
🤔 What does a contribution look like in practice?
To give you an idea, here is an excellent contribution from Douglas Camata for Kodein, a Dependency Injection library:
- Register for Hacktoberfest
- Read the README
- Claim an issue as yours
- Read the contributing guide
- Code, code, code and submit your PR
- Only three more PR to go, and you get the nice tee-shirt!
Click 👏 to say “thanks!” and help others find this article.
If you need a Kotlin workshop, check how we can help you: kt.academy.