The CMS (Content Management System), are systems that allow to manage content in a friendly way, without the need for development knowledge, among them are Drupal, Joomla and Wordpress. The majority of the CMS have something in common: they are complete and totally independent systems, which do not require additional developments to work, since they have both a backend with an administrative panel, and a frontend with views for users.
As a novelty in the world of CMS, in recent years variants known as "Headless CMS" have become popular, which unlike the traditional ones, lack a frontend from which users can view the content we make, leaving the work to developers to implement them using REST or GraphQL APIs, achieving advantages such as: speed, flexibility and scalability.
Strapi is an open source headless CMS developed in Node.js and with a focus on achieving a great customization capacity, making complex projects possible in a shorter period of time.
Like almost all headless CMS, it has the ability to generate repeated input types (collections types) based on our needs as well as unique content (single types), and obtain them through its REST API or GraphQL. In addition to providing tools for manual authentication and with social networks, sending emails, uploading files, managing user roles and permissions, configuring webhooks and more.
Strapi is far from beign the only headless CMS on the market, with a lot competitors such as DatoCMS, PrismicCMS, Contentful, ButterCMS and dozens of other alternatives. However, when looking for open source, self-hosted, customizable, widely used (and community-supported) options with a flexible collection builder, Strapi leaves all its competition behind.
At Growich.com we used Strapi as the CMS for our blog, case studies and even contact forms, however that is only a small part of what is possible with Strapi. Thanks to its high customization, extension and scalability, projects such as stores, ordering applications, rental systems, blog, corporate websites have been successfully carried out, leaving endless possibilities.
The installation of Strapi as the great majority of Node.js projects is quite simple and fast, but first we must fulfill the following requirements:
Once the requirements are met, we start our project through the CLI, for which we execute:
yarn create strapi-app my-project --quickstart
npx create-strapi-app my-project --quickstart
With this, a new Strapi project will be created ready to use with SQLite, otherwise we can remove the "--quickstart" to configure with a database of our preference. Once the construction of the project is finished, we can start it with 'npm run develop' or 'yarn develop', and access to http://localhost:1337.
To finish the installation, just create our administration account and start creating collections and generating content:
More information at: https://strapi.io/documentation/v3.x/installation/cli.html
Once we understand what Strapi is, what its functions and characteristics are, it would be worth highlighting its pros and cons from a broader perspective and based on our experience with other headless and conventional CMS, and in turn seen from not only our perspective from developers but also from a finished product maintained by a normal user.
At Growich we have worked with Strapi and we will undoubtedly do so again in future projects. We consider that it is a development environment that serves as a solid base for a great amount of uses without sacrificing too much margin of customization and at the same time gaining a much faster workflow. We believe that Strapi is a good framework to start with and that despite not having a huge team behind it, it is constantly evolving to offer new features.
Strapi is an open source headless CMS developed in Node.js and focusing on achieving a great customization capacity, making possible complex projects in a shorter period of time.