Recently, someone introduced me to a tool called Directus, which is used for building backend systems and defining data structures. This also reminded me of a product I reviewed about two years ago, which was also built using Directus. After doing some online research, I decided to test another headless CMS solution called Strapi.
When we think of CMS platforms, names like WordPress, Joomla, or Moodle might come to mind. But what does 'headless' mean in this context? A headless CMS is a type of CMS that focuses solely on the backend system, without providing the frontend interface. It can generate the API endpoints, letting developers build the frontend or client-side application separately. However, this doesn't mean headless CMS platforms lack a user interface entirely. Most, like Directus and Strapi, include a UI tool (an administrator dashboard) for designing and managing the backend system and resources.
After spending some time testing and reviewing Strapi, I identified several benefits of using this tool to build a backend system
- Strapi comes with a wide range of features for building a fully-fledged website, including internationalization, authentication methods with SSO support, user and role management with role-based access control (RBAC) for each resource and action, GraphQL endpoints, and more.
- The documentation provided by Strapi is well-written and easy to follow.
- Strapi is built on Node.js with the Koa framework and is highly customizable. Adding functionalities to our API endpoints is straightforward. It also includes internal APIs that can be used to extend functionalities, such as managing database content or accessing application resources.
- The admin panel in Strapi is user-friendly, allowing us to easily design the data structure (content types) within our system. It also offers a clean interface for managing relationships between content types.
- The resulting API endpoints are pre-integrated with common API functionalities like filtering, pagination, and content aggregation.
Despite these benefits, there are some caveats to be aware of. Since Strapi is more than just a framework—it's a CMS—customization can be limited by rules set by its creators. It's important to ensure that the architecture and processing flow align with our system requirements. Additionally, time should be taken to fully understand these rules to avoid introducing unknown behaviours or undetected vulnerabilities into the system we're building.
Comments
Post a Comment