Low-code Platform Integration - Ideation
Context
Following up from LCNC in OSS - Survey (#6 (closed)), this issue explores the direction of integrating GitLab with popular open-source low-code platforms (gitlab-org&2353) to provide a one-stop shop experience for developers.
Why low-code?
To note, one should not confuse low-code with no-code since the former aims to reduce the low-value/repetitive coding effort so the developers can focus more on the business logic, i.e. the real code to write. No-code, on the other hand, is to lower the barrier for citizen developers to build applications without a professionally trained software development background.
It's worth arguing that a good starting point for GitLab to support the LCNC community is to invest in low code, so most of the existing GitLab users, professional developers, can benefit from the DevOps-powered LC directly.
What's the user value?
Typically, a conventional application comprises a few components: a database for storing business data, some UI for user interaction and background jobs for processing complex business logic. If these low-code building blocks can be seamlessly integrated together, including one-click hosting provision, combined with other existing DevOps and collaboration features, GitLab has the potential to offer a complete package to drastically improve efficiency and experience for rapid app development.
Folks from Appsmith have put together a blog post and a live demo that exemplifies the type of applications can be built with the low-code stack.
User journey
Let's take an imaginary user journey to showcase the user experience.
- John is asked to build a candidate management system to replace the company's spreadsheet-based solution.
- John logs into the company's GitLab account and enables "Low-code Suite". Behind the scene, GitLab sets up Supabase, Appsmith and n8n instances in GCP or AWS, based on the customer's preference.
- John clicks on Create New Project and chooses low-code option on the screen.
- A wizard is presented to John to populate project details. Once completed, GitLab makes a number of APIs to provision the projects in the corresponding platforms.
- A workspace is generated for John to start development.
- John navigates to Appsmith and chooses the application tracker template to bootstrap the app.
- John customizes the UI in Appsmith according to the requirements, makes adjustments to DB schemas in Supabase, and creates a workflow in n8n for posting Slack notifications for new applications.
- Once tested to satisfactory, John returns to GitLab's low-code workspace and reviews the changes in code.
- John commits the change and creates an MR for his colleagues to review.
- Optionally, John can enable BrowserStack Automate or Saucelab AI tests for test automation.
- Once the MR is merged, and the CI is green, GitLab pipline promots the staged changes to production.
What are the building blocks?
Supabase as the data store
- Repo: https://github.com/supabase/supabase
-
⭐ 39.8k
Supabase is an open-source Firebase alternative built with enterprise-grade open-source tools.
Appsmith as the app builder
- Repo: https://github.com/appsmithorg/appsmith
-
⭐ 21.7k
Appsmith is an open-source platform to build, deploy, and maintain internal apps. You can build anything from simple CRUD apps, admin panels, and dashboards to custom business apps and complicated multi-step workflows.
N8N as the workflow automation
- Repo: https://github.com/n8n-io/n8n
-
⭐ 26k
n8n is an extendable workflow automation tool. With a fair-code distribution model, n8n will always have visible source code, be available to self-host, and allow you to add your own custom functions, logic and apps. n8n's node-based approach makes it highly versatile, enabling you to connect anything to everything.