Knowledge Hub
Strapi
Written by Gerald Martinez
Last update: 6/11/2024
Feature | Strapi | |
---|---|---|
CMS Type | API | |
Editor Experience | ||
Dashboard Internationalization The CMS interface can be displayed in multiple languages, making it accessible for non-English speakers. | ||
Multilanguage Content Support for creating and managing content in multiple languages. Useful for global websites that need to cater to different regions. | ||
Scheduling & Releases Allows you to schedule content to be published at a specific time and date in the future. | available as part of the Enterprise plan | |
Content Versioning Keeps track of different versions of content, allowing you to revert to previous versions if needed. Like an "undo" button for your content. | ||
Autosave Automatically saves changes as you work, preventing data loss if something unexpected happens, like a browser crash. | ||
Preview Content Lets you see how content will look on your live site before publishing it. Like a sneak peek before it goes live. | requires a plugin | |
Multiple Environments Support for different stages of content (e.g., development, staging, production). This allows testing changes in a safe environment before going live. | ||
Workflow Sets up an approval process for content creation. For example, a writer might submit content, then an editor reviews and approves it before publishing. | ||
Customizable UI Allows customization of the CMS user interface to match your brand or specific needs. | ||
Team Management | ||
User Roles Predefined roles (like admin, editor, viewer) with specific permissions. | ||
Custom User Roles Ability to create custom roles with specific permissions tailored to your organization’s needs. | ||
Organization Management Allows you to manage different user groups and access within the CMS. | ||
Developer Experience | ||
REST API An API that follows REST principles, allowing developers to interact with the CMS using standard HTTP requests. | ||
GraphQL API An API that uses GraphQL, allowing clients to request exactly the data they need, making data fetching more efficient. | ||
Images API API specifically for managing images, including uploading, processing, and retrieving images. | via UI (editor) | |
Content Management API API for managing content, including creating, updating, and deleting content items. | ||
Field Types Different types of data fields available for content, such as text, number, date, media, etc. | ||
Custom Field Types Allows you to create even more specific field types beyond the basic ones, to perfectly match the type of content you manage. | ||
Webhooks Allows the CMS to send real-time notifications to other systems or services when certain events happen (e.g., content published). You can use these to trigger actions in other applications. | ||
CLI Command Line Interface tools that allow developers to perform tasks and manage the tool via the command line. | ||
SDK A set of tools and pre-written code snippets that developers can use to integrate the CMS with their project more easily. | ||
Free Tier | ||
Free Plan Available Some headless CMS providers offer a free plan with limited features, allowing you to try it out before committing. | Open-source | |
Team Members The number of users (team members) that can be added to the CMS. | Unlimited | |
Locales The number of different languages and regional settings the CMS supports for content creation and management. | Unlimited | |
Projects Support for managing multiple projects within the same CMS account. | Unlimited | |
Security & Compliance Offerings | ||
Two-factor authentication Adds an extra layer of security when logging in. | custom implementation possible | |
Team Logs Tracks user activity within the platform for better accountability. | available as part of the Enterprise plan | |
GDPR Compliance with the General Data Protection Regulation for handling personal data. | ||
SOC2 Service Organization Control 2 compliance for managing customer data. | ||
ISO27001 International standard for information security management. | ||
Others | ||
Extensions Additional plugins or add-ons that can enhance the functionality of the platform. | ||
Built-in Backups & Restore Features that automatically back up content and settings, allowing easy restoration in case of data loss. |
With 36.9k stars on Github, Strapi has become one of the favorites open-source headless CMS in the Jamstack ecosystem because of its versatility and scalability. Also, the idea of getting complete control of the app that you are building without any API restrictions is very tempting.
Strapi is a headless CMS built in Node.js and React that allows you to use a database of your choice. Currently, it supports SQLite, MongoDB, MySQL, and Postgres. It’s not a secret that Strapi positions itself as a WordPress alternative.
You can use Strapi to create whatever you want, from a basic website to a large e-commerce app. You can find many resources on their website to learn how to integrate Strapi with the most popular frameworks like Gatsby.js, Next.js, Flutter, and more.
They have an intuitive admin interface for both actors, developers, and editors. From the developer's perspective, you can easily define your API content model due to their simplified content type builder. And from the editor's point of view, you’ll be greeted with an intuitive user interface that allows for fast content creation.
The admin area looks clean. You can quickly access the features that you want to go. It is to be thankful to get a starter page with all helpful links that you can access in case of any help that we need.
So basically, you have these sections in the admin area:
One of the weak points of this admin is that it is not responsive, but recently they presented a teaser that they are working on a refresh with a lot of improvement and redesigned UI/UX.
When you install Strapi for the first time, you will realize that you have some of the plugins installed by default that allow great features for your project and others that you may want to install.
For example, just a few weeks ago, they released a plugin that deals with internationalization. This plugin allows you to create multi-language websites/apps and create a better experience for your audience.
If you can't see a feature/plugin that you may need for your particular use case, you can create one with a bit of knowledge of React.js and Node.js since Strapi is built with these technologies.
Installing and using Strapi is simple. You will need only your favorite text editor and existing package managers like NPM or Yarn. So, run one of these commands on your terminal:
These commands will install Strapi and the starter project app for you, so you will be able to play and navigate to the admin area in your localhost here: .
So simple, right? Have a look at this quick starter guide video to start working with Strapi in less than 3 minutes 🚀.
They have a growing community on Discord, Slack, Github, and their Community forum. That’s great because whatever question you may have, you can be sure one of their communities will answer.
For enterprise support, you can check their Enterprise Support platform and place tickets to get support from them.
Also, you can visit their resources center to find many things to help you build with Strapi, like starters, tutorials, Strapi academy, etc.
The best notice here is that Strapi, as mentioned before, is OPEN SOURCE!!! 🎉, so basically you can get most of the powerful features for free(forever), hosted on your server.
But, if you want to extend the features at an enterprise-level, you can do that. You can take a look here the support features in the different plans that they offer:
If the thought of handling it on your own makes your head explode 🤯, don't worry. They offer a cloud version where they host Strapi for you, which is great because you will be able to forget all about the server things and focus only on your product, and you will get some features like unlimited environments and usage.