What are some exceptionally well-designed, open-source projects to study? Part 2

Care to share?

Wow! The first part of this open-source blogpost series went extremely well. Thanks for all your comments! Today, as I’ve promised, I’m back with a new episode featuring Strapi.js.

The project, which was one of the first headless CMSs, gradually evolved into something more like an application platform and developer framework. It’s similar to, well, Django, or maybe Ruby on Rails? It provides developers with an extremely easy way of scaffolding the JavaScript-based applications connected with entity and data structures management.

Strapi headless CMS

Strapi is Node.js backed supporting REST and GraphQL APIs. It’s extensibility model based on plugins makes it extremely easy to define your own controllers and custom endpoints. This models is super encouraging for external developers and that has resulted in it building a vibrant community around the project

“Yeah, it’s certainly a long journey with the open-source because you first have to build the community, but it’s definitely worth it. So, there are three main business models with the principles. The first one is support. And since you have the technical expertise on your product, you can help companies using your product. And they’re ready to pay for it [..]. But, first, it doesn’t really scale because you have to sell time basically. And so the more you’ll improve your documentation, the less your support is going to be useful.

“So, that’s the first one. And then it’s not when we decided to go with the second one that is open core. So you basically create an open-source project with this scope of features. And then you add so release an enterprise edition, which is basically an extension of the community edition. And it typically includes features for enterprises, for teams, for security.

“And the third business model is a software as a service (SaaS). Since you already developed your product, in principle, in the open with the open-source project, you just have to create SaaS, which is actually selling and buffering your product.”

Pierre Burgy, Founder of Strapi in a CTO-CTO interview.

Strapi has a really powerful community, with about 633 contributors and 35k stars on Github. The code is separated into easy-to-understand granular packages managed in a mono-repo schema using Lerna. The core is very lean. So, by just enabling or disabling individual modules, one can manage which features will be enabled with the application and which are not. 

Strapi supports multiple databases back ends including standard SQL databases, SQLite, and MongoDB.

strapi content builder

Despite all the developer-oriented features, the Strapi admin panel offers an extremely easy-to-understand Content Builder that lets the editors and visual merchandisers easily manage custom data types with all sets of different attribute types, including media files and relationships with other data entities. Having this feature included, it’s very easy to use Strapi in the low-code use cases as a flexible back-end solution.

Because the key feature of Strapi is API driven data and content management, it makes it a perfect fit for custom JAMStack applications. Moreover, the community members around the project came up with a set of different application starters, including platforms like Next.js, Gatsby.js, and others.

Is JAMStack and then no-code or low-code platforms the next big thing for business applications? What are your thoughts?

More info:

Published March 10, 2021