Growich
Contact Us
Start using Strapi, a highly customizable headless CMS

Start using Strapi, a highly customizable headless CMS

Daniel Hurtado

Daniel Hurtado on Development

Dec 15, 2020 · 5 mins

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.

What is Strapi

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 Admin Panel

Why to choose it?

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.

Start guide

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:

  • Node.js >= v12.x.
  • NPM >= v6.x.
  • Yarn (Optional).
  • Database (one of them):SQLite >= 3, PostgreSQL >= 10, MySQL >= 5.6, MariaDB >= 10.1, MongoDB >= 3.6.

Once the requirements are met, we start our project through the CLI, for which we execute:

yarn create strapi-app my-project --quickstart

or

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.

Strapi welcome screen

To finish the installation, just create our administration account and start creating collections and generating content:

Strapi first setup

More information at: https://strapi.io/documentation/v3.x/installation/cli.html

Pros and cons

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.

Main pros:

  • Self hosted and open source.
  • Data types editor (collections and singles).
  • Customization and scalability (Extensions and plugins with Javascript).
  • Users system, roles and native authentication.
  • Documentation, examples and community.

Main cons:

  • Lack of multilanguage content support (planned Q1 2021).
  • Complexity to maintain for non-developers (actualizaciones manuales).
  • Complexity to install plugins for non-developers (instalaciones manuales).
  • Lack of native backup/restore system of types and content.
  • Some limitations in Community Edition (free version).

Conclusion

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.

Related posts

Start using Strapi, a highly customizable headless CMS

Start using Strapi, a highly customizable headless CMS

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.

Daniel Hurtado

Daniel Hurtado on Development

Dec 15, 2020 · 5 mins