/lowdefy

An open-source low-code framework to build web apps, admin panels, BI dashboards, workflows, and CRUD apps with YAML.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Lowdefy

Tests Main Tests Develop Maintainability Test Coverage Codecov

Lowdefy is an open-source (Apache-2.0) low-code framework that lets you build web apps with YAML configuration files. It is great for building admin panels, BI dashboards, workflows, and CRUD apps.

Advantages of writing internal tools in YAML:

  • All apps use the same structured config schema, this makes it easy to debug large apps or pick up where others left off.
  • Nothing is hidden in a GUI. This allows you to do basic essential stuff, like copy, paste, find, replace etc. which makes developing apps more productive.
  • App config is just data, thus you can even develop scripts to create and manage your apps.
  • YAML files work with your favorite developer and source control tools.

Read the docs at https://docs.lowdefy.com.

UIs in Lowdefy are built using blocks, which are React components. Lowdefy provides a set of default block types with the essentials needed to build an app, but you can also create your own custom blocks. Lowdefy uses webpack module federation to import these blocks as micro front-ends.

Lowdefy doesn't have any data storage built in. Instead, it provides connections to external services like databases and APIs. We are working on expanding the list of connections, and you can vote for the ones you need here.

To host a Lowdefy app, only a simple server is needed. Lowdefy was designed to run in a serverless environment from the start. Currently you can host your apps on Netlify, with support for Docker, AWS Lambda functions and more coming soon.

Quick start

Run:

npx lowdefy@latest init && npx lowdefy@latest dev

This will create a file called lowdefy.yaml in the current working directory that contains the configuration for a Lowdefy app (as well as a .gitignore) and launch a local development server at http://localhost:3000. Make changes in the lowdefy.yaml file to see them reflect in the app.

Examples

CRUD example

This example shows patterns to implement a data admin app which allows users to view, create new, edit and delete data records.

Survey example

This is a simple customer survey example built with Lowdefy. With this example we demonstrate how simple it is to define a public webform and thank you page in Lowdefy.

Case management (ticketing) system example

This example focuses on building a rich UI for a hypothetical case management app, in a customer relations setting.

Movies reporting example

This example demonstrates useful patterns for building a BI report/dashboard pages in Lowdefy. It connects to a MongoDB database with the Atlas Movies sample dataset pre-loaded.

More Lowdefy resources

Changelog

All changes to this project are documented in CHANGELOG.md.

Contributing

Please see CONTRIBUTING.md.

Security

If you discover a vulnerability, please follow the guide in SECURITY.md to disclose this to us responsibly.

Code of conduct

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to follow the Contributor Covenant code of conduct. See CODE_OF_CONDUCT.md for more.

Licence

Apache-2.0