QuanticDev

QuanticDev's Engineering and Software Development Resources

Home Shop View on GitHub

My Project Got 800 Stars in Two Days on GitHub - KOAN (Open-Source)

In this article, you will discover how my open-source JavaScript project got 800 stars on GitHub within two days of publishing it. My project is called KOAN (github.com/soygul/koan), and I created it to preserve my general knowledge in Koa and Angular frameworks, as well as Node.js and MongoDB, by making a ready-to-use project template. Upon submitting it to a couple of JavaScript newsletters for review, it exploded and got 800 stars in its first two days of existence! So how did this happen? Did I get lucky? Or did I build something special that people wanted or needed? Or did I simply game the GitHub? Well, read on.

Table of contents:

KOAN Logo

Resources

You can find the video version of this article on YouTube: https://www.youtube.com/watch?v=vOQyo64WBAA

Video has live demonstration of my project KOAN. If you want to read the comments or leave a comment, do so under the YouTube video. If you want to contribute to the article, make a pull request on GitHub.

My open-source project KOAN that is the focus of this video:

JavaScript Newsletter Issue that featured my project:

Relevant articles referred to in this article:

KOAN Project

First things first. My project, KOAN, is a full-stack web framework template which you can use as a starting point for your JavaScript web apps. On the backend, it uses Koa framework plus Node.js and MongoDB. On the frontend, it uses Angular and WebSockets for real-time interactions between logged-in users.

KOAN Heroku Demo

A web app boilerplate with built-in WebSocket support is what got the attention of JavaScript newsletters in the first place. Also, few open-source projects offer a complete working sample of their projects, so creating a Facebook clone with KOAN was a great demonstration of its capabilities.

KOAN on Newsletters

KOAN Demonstration

Now let me demonstrate the project to you, and then we can investigate why it was successful. Let’s start with the KOAN’s GitHub project page. It is an open-source project with the MIT license. It is a 7-year-old project, and I didn’t update it much in the last five years, so it has been losing stars since then, almost back to day 2!

KOAN GitHub README

If we check out the README file, you can see that it is very clean and well structured. It starts with introducing the technology stack, continues with the live example and getting started instructions. Getting started is easy, you clone the repo, do npm install && npm start, and you have a basic working Facebook clone on your computer.

KOAN GitHub README

You can see that I even have a “Deploy to Heroku” button for one-click sample deployments of this project for people who want a quick start. Finally, the readme provides the rest of the configuration, testing, and licensing information. If you check out the source code, you can see that it is equally well documented. As a wise man once said, code comments should tell you the why, and the code itself should tell you how.

Note: Following section is the excerpt from the video demonstration. You can find the link to it in the resources section above.

Now let’s go ahead and check the live sample. You can see that I created a Facebook clone as an example usage of KOAN template. Yet again, the very first page of the demo website starts by introducing the project: “KOAN (Koa, Angular, Node): Full-stack JavaScript Web development boilerplate.”. It also introduces the technology stack:

KOAN Heroku Demo Login

Let’s log in and see how it goes. Default credentials are pre-filled, so I will just use them. Logins with other social accounts is a feature that I implemented as a bonus. After login, you can see that it is a clone of Facebook in its early days. You can type comments or create new posts. You can also check your profile page, notifications, and messages. Remember when I said that the project was using WebSockets. The green dot near your name indicates that you are connected to the Node.js backend using a WebSocket connection. Let me open another window and log in as another user. When I submit a comment on one tab, it appears on the other in real-time, thanks to the persistent WebSocket connection to the backend. I won’t go into the details, but this very basic feature alone made this project very valuable to many starters who are looking to implement a real-time web app with WebSockets.

By the way, if you are interested, I have an entire article demonstrating my open-source project workflow using Git, GitHub, and Docker. You can find the link to it in the resources section.

How to Get Starts on GitHub Then?

Now you have seen a successful project with a successful execution, which resulted in a ton of recognition (and stars, forks etc.) on GitHub. So how did this all get together? Let me summarize it:

Conclusion

Don’t forget that the primary objective of open-sourcing software is to be useful to the open-source community. The recognition (stars etc.) that comes with it is just a bonus. When the community starts using your software, they will begin to contribute back, which will benefit you in return, and everybody else. Take being useful as your goal, and you will get recognition eventually. Just like this article! If you found this article useful, share it with someone who you think might also find it useful. I will showcase more of my successful software projects in the future. If you want to see them, follow me on my socials. If you have a project that you want me to check out, let me know. I will review them and maybe even feature them in upcoming articles. And that is it for this writeup, I will see you on the next one.