Photo by Fahim Muntashir on Unsplash
Database dashboard for headless CMS
Solving a real world problem in headless CMS world!
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
At Kontent.ai, set up a webhook
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.
Establish a connection between Outerbase's 'Base' and ElephantSQL. This process is both swift and straightforward.
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
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.