Database dashboard for headless CMS

Solving a real world problem in headless CMS world!

Β·

4 min read

As a Solution Architect, my role involves addressing customer challenges using Kontent.ai. It's widely recognized that composable architecture is currently gaining momentum in the content management industry. With Headless CMS, our emphasis shifts towards a content-centric approach, placing presentation as a secondary concern. While top-tier SaaS solutions are pioneering groundbreaking innovations in this field, the content industry has been accustomed to presentation-centric approaches.

If you are new to the world of the content-first approach, then read the article: You are new to content-first approach

Problem Statement

All CMS provides some level of reporting. But, we know that every organization has a different level of needs when it comes to reporting. Customization is inevitable. Headless CMS users often encounter difficulties due to their desire for a user-friendly interface that allows database queries and dashboard creation instantly.

Example:

  • Post with asset

  • Post without assets

  • Total Posts in review workflow steps

  • Translation Statistics

Such statistics are crucial in facilitating data-driven decision-making for managers.

Solution

I've been on the lookout for a solution that requires no UI development. When I came across the Outerbase Hackathon titled 'Interface for Database,' it immediately inspired me to attempt a Proof of Concept demonstrating that I can create a dashboard for my headless CMS activities using just my SQL knowledge, without needing a UI or a development team. Additionally, Outerbase's intriguing EZQL support has truly amazed me.

AI + Dashboard + Database = ❀️🌈🌟 πŸ‘©πŸ»β€πŸ’»πŸ‘©πŸ»β€πŸ’»πŸ‘©πŸ»β€πŸ’»

So, we are talking seriously about real digital transformation. All the right ingredients😎🌟

Implementation

Technical Stack

Kontent.ai: Kontent.ai is the headless CMS that enables marketers and developers to plan, create, and deliver experiences that look and feel great on any channel. The ο»Ώintuitive authoring experience helps marketers plan, create, and manage content, while developers enjoy the total flexibility of the headless solution

Node.js: To process webhooks and generate Postgres SQL. Github Link

ElephantSQL(Postgres instance): In-house database for analytics

Postman: Testing API endpoints

Outerbase: Outerbase is the interface for your database.

In my solution, I'm using saved queries, EZQL, Dashboard and command functionalities.

Data Flow

In my solution, I have done the following configuration

  1. At Kontent.ai, set up a webhook

  2. This action will transmit data to the Node app, which in turn processes the request and generates SQL scripts for ElephantSQL. If you prefer automation, you can streamline this process using Zapier which can accept data from Zapier, prep the SQL and push it to ElephantSQL.

  3. Establish a connection between Outerbase's 'Base' and ElephantSQL. This process is both swift and straightforward.

  4. Utilize EZQL to create queries and tailor them as required. EZQL provides a simple method to pose questions to your database in plain text, yielding SQL statements in response. In Outerbase, you can also save these queries for later use in your dashboards. Feel free to explore this informative video - Outerbase EZQL

  5. Use "saved" queries to set up the Dashboard.

    According to established business objectives, let's proceed with setting up the dashboard. I've utilized the queries I saved previously to construct this dashboard.

    I also explored the "Command" feature in Outerbase. It helps you seamlessly configure integrations. For instance, if you wish to share specific query results with third-party services, you can easily create a custom command to accomplish this task efficiently. To see a step-by-step demonstration of how to set up this command, please take a moment to watch this brief video tutorial

Conclusion

What I like about Outerbase

  • Quick setup

  • Saved queries

  • Dashboard feature, especially with EZQL, significantly accelerates the process

  • Commands provide a way to pack your data for third parties without any UI

  • Occasional crashes or bugs are addressed promptly thanks to the active community and excellent support in Discord channel. πŸŽ‰

Overall, I've enjoyed the Hackathon. In this Hackathon, my objective was to determine the most efficient way to achieve the goals with minimal effort as required by non technical team members, which is what every business leaders strives to provide. 😎

Thank you Hashnode and Outerbase for providing me an opportunity to particpiate.

Β