Strapi is an open-source headless CMS created by a French start-up. The CMS is very young and yet it has managed to establish itself among the most promising headless CMSs according to the ranking compiled by the Jamstack site. It is a CMS that is enjoying strong growth, and it already counts NASA and IBM among its users!
Strapi, a headless CMS based on the JavaScript language
Strapi is a headless CMS, meaning that it only handles the back-end part of a project. For the front-end part, you can connect a front-end framework using an API, which we will talk about later in the article.
To introduce Strapi, then, we can say that it is a headless CMS (Content Management System) that is open source and created by a French start-up. The CMS was developed with Node.js. As for the origin of the name, Strapi comes from a contraction of “Bootstrap your API”.
In a sector where CMSs exist in large numbers and some of them are well established, the French start-up had to differentiate itself, and it created the first CMS based entirely on the JavaScript language. Their aim: to make sure that you can easily use any JavaScript front-end framework, such as React, VueJs, Angular and many more, with their CMS.
Strapi has other advantages worth mentioning. For example, the headless CMS does not depend on a single database management system, as can be the case for other, more traditional CMSs. You can choose the database management system to use on the project, such as MySQL, PostgreSQL or MongoDB.
What’s more, Strapi is an ideal CMS if you need to distribute your content across different channels. Whether on a website, in a mobile application or even on a connected watch, you will not be restricted. For the next stage of its development, Strapi is planning to extend to voice commands — a logical progression when you see the progress AI is making in that area.
As for installing Strapi, two options are available to you, using either the npx or the yarn command:$ npx create-strapi-app my-project$ yarn create-strapi-app my-project
Adding --quickstart to your command will give you a basic configuration so that you can start your project immediately without needing to spend time on settings.
Strapi’s growth will now turn towards the development of an extension marketplace, which is currently a weak point compared with other CMSs. The creators have already indicated that these extensions will be paid for, but that their source code will be available on their GitHub.
Developing the API
As a headless CMS, Strapi has to have an API in order to be able to deliver your content across the different channels.
First of all, the CMS will ask you to create a user who will be the administrator. Then you will need to start by specifying the fields and content types you need — for example a string, date or number field. This will create your database. After that, you will need to specify the relationship schemas between these different fields. That is where the creation of your API begins. Once you have connected all these fields and finished building your API, all that remains is to connect your front end in order to organise your content and give it a design.
Creating an API with Strapi is not very complicated, but above all it makes it possible to save development time on your projects. Indeed, once your API is working, all you have to do is use Strapi like a traditional CMS to make distributing new content easier.
Do bear in mind, however, that by default Strapi provides a REST architecture, but it is perfectly possible to change this in order to use GraphQL, thanks to a plugin.
Strapi has a forum on which you can explain your problem in order to get help. They promise a quick answer from the core developers or from the community.
As you will have gathered, Strapi is a CMS that is fully customisable according to your needs; it allows you to be more efficient by making API creation easier, while leaving you a degree of flexibility and freedom.
If you would like to read more articles about frameworks, we invite you to visit our dedicated Framework section.