Mark Ku's Blog

Background

These days, more and more companies are adopting various open-source Content Management Systems (CMS) to manage static content. However, over time, these systems often present challenges with integration and customization.

While open-source CMSs can accelerate development speed, they also increase the burden on operations, communication, and efficiency. This extra overhead must be carefully considered when choosing an open-source CMS to ensure it can effectively support the company's long-term business growth.

Goals

  • Reduce communication costs. Previously, when users had to maintain JSON files, engineers needed to write extra documentation.
  • Provide a more user-friendly maintenance interface.
  • Adopt the latest low-code technologies.
  • Solve the problem of having to configure file uploads and path settings separately.
  • Address the difficulty of integrating and customizing off-the-shelf CMS solutions.
  • Enable data scheduling capabilities.

Concept for a Custom Low-Code Platform

1. Designing the Form Structure

Engineers drag and drop components to build a schema in JSON format, which is then saved to the database.

2. Content Maintenance

The form schema, previously designed by an engineer, is retrieved from the database. The application then renders the form based on this JSON schema, allowing users to input their data.

3. Page Rendering

For page rendering, this API can be called directly to render the page.

Requirements

  • File upload functionality.
  • A product dropdown selection.
  • When the structure changes, only keep the latest version.
  • Scheduling capabilities.

Avoiding Reinventing the Wheel

As drag-and-drop technology matures, building a low-code platform from scratch has become both time-consuming and uneconomical. With this in mind, we evaluated several popular low-code editors and Content Management Systems (CMS). Given that our company primarily uses the Next.js tech stack and requires a high degree of customization, we ultimately chose an open-source, Next.js-based low-code editor as our foundation.

To further save development time, we decided to purchase a pre-built Next.js template from the market, which included a backend admin system and various components. This allowed us to quickly build a system that meets our business needs while maintaining flexibility and scalability in our development process.

Flowchart and Mockups

Learning Resources:

Open-Source Next.js Low-Code Code

image Link

preview => 左側導覽清單的設定
edit => 元件編輯時的預設值
fields => 定義元件

Form Validation

We use React Hook Form for form validation.

Defining Data Structures and Frontend Input Components

Defining the mapping between data types and their corresponding components:

  • text > input (Input box)
  • json > json editor (JSON editor)
  • html > rich html editor (Rich text editor)
  • value in array > single select (Single-select dropdown)
  • array > multi select (Multi-select dropdown)
  • date > date picker (Date picker)
  • upload image > single upload (Single image upload)
  • upload images > multi upload (Multiple image upload)
  • model select > model select (Product model selector)
  • true / false > switch (Switch toggle)

Conclusion

By leveraging existing technologies and resources to avoid reinventing the wheel, we can significantly accelerate the development process, reduce costs, and improve product quality. Choosing the right tools and technologies enables a company to meet specific business needs more efficiently.

Demo Video

Author

Mark Ku

擁有 10+ 年經驗的資深軟體工程師,現為 AI 應用 Builder,專注於大型平台架構與簡化複雜系統設計,從電商系統到訂閱與收費平台,結合 AI Agent、AI 整合與自動化開發,打造高效率且可持續演進的產品技術基礎。Read More

Found this useful?

The author's free tools, daily podcasts and newsletter are all here.

Mark Ku · This article is licensed under CC BY 4.0. Credit the author and link back to the original when reusing it.

Comments

Subscribe to Newsletter

Subscribe to get new posts delivered instantly — never miss a tech share.

By submitting, you agree to receive emails. You can anytime.

Popular Posts

View all
Mark Ku
··602

Oracle Cloud Always Free Tier: Linux Host and Static IP for a $0 Cloud Solution

Oracle Cloud Always Free Tier: Linux Host and Static IP for a $0 Cloud Solution
Mark Ku
··490

Say Goodbye to Postman's Fee Trap! A Hands-on Guide to Bruno, the Open-Source Git-Native API Testing Powerhouse.

Say Goodbye to Postman's Fee Trap! A Hands-on Guide to Bruno, the Open-Source Git-Native API Testing Powerhouse.
Mark Ku
··333

A Free, Open-Source, Notion-like Knowledge Base — A Complete Guide to Deploying and Backing Up Outline Wiki

A Free, Open-Source, Notion-like Knowledge Base — A Complete Guide to Deploying and Backing Up Outline Wiki
Mark Ku
··264

Training Your Own AI Voice: Hardware Requirements, Open-Source Model Comparison, and LoRA Fine-Tuning

Training Your Own AI Voice: Hardware Requirements, Open-Source Model Comparison, and LoRA Fine-Tuning
Mark Ku
··221

Building an Efficient API Management Platform: Deploying Kong Gateway from Scratch - Part 1

Building an Efficient API Management Platform: Deploying Kong Gateway from Scratch - Part 1
Mark Ku
··215

Setting Up Samba on Ubuntu to Share Folders with Windows 11

Setting Up Samba on Ubuntu to Share Folders with Windows 11