Awesome projects under 1000 stars (1) - Badgen
Tags: javascript, github, showdev, opensource
Published: 2018-09-05 14:05:23

---
title: Awesome projects under 1000 stars (1) - Badgen
published: true
description: Every month, discover an awesome under-appreciated JS project.
cover_image: https://thepracticaldev.s3.amazonaws.com/i/qp4b737pvxuyyzvfpmjh.jpg
series: awesome-project-under-1000-stars
tags: javascript, github, showdev, opensource
---

Discovering new projects is not an easy task. Thousands pops every days and a happy few become renown. This leaves a huge chunk of work forgotten by everyone, sometimes for good reasons (useless, copy-pasta, under-maintained ...) and sometimes for no reason whatsoever.

With this thread of article I aim to shine some light over an interesting project once a month.

As it's the very first post, I lay some basic rules for myself:
 - Any project in the web-sphere is eligible (library, tool, website ...)
 - Only open-source hosted on github (I want to promote OOS, but I don't have the time to parse many source)
 - Project under 1000 stars are considered, but the lower the better
 - I handpick and test every project for a while before giving any appreciation
 - Project should be stable, maintained and over 1 month old

I'm welcoming with great pleasure any suggestions in the comments. I'll look at them all and surely write about it if it respects the initial rules.

Without further ado, I present you

# [badgen](https://github.com/amio/badgen) and [badgen-service](https://github.com/amio/badgen-service)

> Yes two for the price of one !

Badgen can be used as a online service or as a javascript library.

I'm sure you've already seen a repository badge like:
![example badge](https://badgen.net/badge/dev/hello%20world)
Well, it's never been easier and faster to render one using badgen.

Built to be a faster alternative to [shields.io](https://shields.io/#/), badgen deliver with awesome speed. The syntaxe to build badge is really clear and hackable. You can even use any arbitrary end-point returning a JSON formatted response.

You can check all examples on the [badgen website](https://badgen.net/), but here's a handful of them for a taste with corresponding URL:

 - Static values: [/badge/dev/to/black](https://badgen.net/badge/dev/to/black)
![static](https://badgen.net/badge/dev/to/black)
 - Github stars: [/github/stars/thepracticaldev/dev.to](https://badgen.net/github/stars/thepracticaldev/dev.to)
![github star](https://badgen.net/github/stars/thepracticaldev/dev.to)
 - NPM dependents: [/npm/dependents/left-pad](https://badgen.net/npm/dependents/left-pad)
![github star](https://badgen.net/npm/dependents/left-pad)
 - Code coverage: [/codeclimate/coverage/thepracticaldev/dev.to](https://badgen.net/codeclimate/coverage/thepracticaldev/dev.to)
![code coverage](https://badgen.net/codeclimate/coverage/thepracticaldev/dev.to)

Serving a JSON with a "subject", "status" and "color" field allow you to build custom dynamic badge. Here's a stupid example loosely showing what I should be doing right now.
I create a [runkit](https://runkit.com/gmartigny/5b8fa7a29cf9530012642696/) script outputing the right data. Then use this end-point in the badgen URL. 

[/https/untitled-ljtss6i6xow1.runkit.sh](https://badgen.net/https/untitled-ljtss6i6xow1.runkit.sh)
![doing now](https://badgen.net/https/untitled-ljtss6i6xow1.runkit.sh)

The most awesome thing, in my opinion, is the reactivity of the main maintainer. The project is very active and you get answer to your issue or PR in a matter of hours.

**Bonus points**: the code is clear and well put together (even if it lack documentation) and can be a nice learning point.


Go check it out and see you all next month.