{"id":13425855,"url":"https://github.com/lowdefy/lowdefy","last_synced_at":"2025-05-12T13:30:38.902Z","repository":{"id":37005843,"uuid":"300252678","full_name":"lowdefy/lowdefy","owner":"lowdefy","description":"The config web stack for business apps - build internal tools, client portals, web apps, admin panels, dashboards, web sites, and CRUD apps with YAML or JSON.","archived":false,"fork":false,"pushed_at":"2025-04-23T20:03:11.000Z","size":1968636,"stargazers_count":2793,"open_issues_count":40,"forks_count":173,"subscribers_count":30,"default_branch":"main","last_synced_at":"2025-05-08T00:35:36.891Z","etag":null,"topics":["admin-panels","crud-apps","dashboards","internal-tool","internal-tools","low-code-plattform","lowdefy","nextjs","selfhosted","web-app","web-app-generator","webdev","workflow-automation","yaml"],"latest_commit_sha":null,"homepage":"https://lowdefy.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lowdefy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":"lowdefy-os","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2020-10-01T11:21:06.000Z","updated_at":"2025-05-07T09:40:04.000Z","dependencies_parsed_at":"2023-09-23T14:34:49.342Z","dependency_job_id":"ae6982f3-b93a-408d-9d38-22b8ed014c02","html_url":"https://github.com/lowdefy/lowdefy","commit_stats":{"total_commits":3999,"total_committers":25,"mean_commits":159.96,"dds":0.574143535883971,"last_synced_commit":"1ecedb5007db846dc35f11d9c4d50d182584312c"},"previous_names":[],"tags_count":213,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowdefy%2Flowdefy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowdefy%2Flowdefy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowdefy%2Flowdefy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lowdefy%2Flowdefy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lowdefy","download_url":"https://codeload.github.com/lowdefy/lowdefy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253747635,"owners_count":21957788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin-panels","crud-apps","dashboards","internal-tool","internal-tools","low-code-plattform","lowdefy","nextjs","selfhosted","web-app","web-app-generator","webdev","workflow-automation","yaml"],"created_at":"2024-07-31T00:01:20.534Z","updated_at":"2025-05-12T13:30:38.816Z","avatar_url":"https://github.com/lowdefy.png","language":"JavaScript","funding_links":["https://opencollective.com/lowdefy-os"],"categories":["JavaScript","网络服务","yaml","nextjs","Developer Tools"],"sub_categories":["网络服务_其他"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Lowdefy\"  src=\"https://user-images.githubusercontent.com/7165064/121780045-d0021200-cb9e-11eb-84f9-ff67c8255ec6.gif\" data-canonical-src=\"https://user-images.githubusercontent.com/7165064/121780045-d0021200-cb9e-11eb-84f9-ff67c8255ec6.gif\" width=\"450\" /\u003e\n\u003c/p\u003e\n\n[![Discord](https://img.shields.io/discord/729696747261263962?label=Join%20our%20Discord\u0026logo=discord\u0026logoColor=white)](https://discord.gg/WmcJgXt)\n\n[![Tweet](https://img.shields.io/twitter/url?logo=twitter\u0026style=flat-square\u0026url=https%3A%2F%2Flowdefy.com)](https://twitter.com/intent/tweet?text=Build%20web%20apps%2C%20admin%20panels%2C%20BI%20dashboards%2C%20and%20CRUD%20apps%20with%20ease%21%20Try%20\u0026url=https://lowdefy.com\u0026via=lowdefy\u0026hashtags=lowcode,lowdefy,internaltools,developers,opensource)\n[![Follow](https://img.shields.io/twitter/follow/lowdefy?logo=twitter\u0026style=flat-square)](https://twitter.com/intent/follow?screen_name=lowdefy)\n\n![Tests](https://github.com/lowdefy/lowdefy/workflows/Tests/badge.svg?branch=main)\n[![Maintainability](https://api.codeclimate.com/v1/badges/6efe9bfa0648772cae00/maintainability)](https://codeclimate.com/github/lowdefy/lowdefy/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/6efe9bfa0648772cae00/test_coverage)](https://codeclimate.com/github/lowdefy/lowdefy/test_coverage)\n[![Codecov](https://codecov.io/gh/lowdefy/lowdefy/branch/main/graph/badge.svg?token=U2AEEH9K1W)](https://codecov.io/gh/lowdefy/lowdefy)\n\n# Lowdefy 🫶 The Config Webstack for Business Apps\n\nLowdefy is a source available web framework that enables you to:\n\n- 🎨 Build web UIs and connect to databases and APIs.\n- 🔌 Extend app functionality with npm plugins.\n- ⚛️ Built on top of [Next.js](https://nextjs.org/) and [Auth.js](https://authjs.dev/).\n- 🌐 Host your apps anywhere you host Next.js.\n- ✂️ Only code your business logic.\n\nCreate internal tools, web apps, admin panels, BI dashboards, web sites and CRUD apps with simple YAML or JSON config.\n\n### 🛠 Build Web UIs with Easy Config\n\nLowdefy config is easy to read, write, copy, paste, or template. Config when you can, but code when you need to.\n\n- Over 70 Blocks and 150 logic operators for a quick start.\n- Dynamic UIs with simple state management.\n- Responsive layouts out of the box.\n- Extend with custom React components.\n\n### 📡 Connect to Your Data and APIs\n\nMake API calls and read and write to your databases with minimal config. Build web apps that connect your data.\n\n- Build dynamic queries using variables and logic operators.\n- Execute requests from both authenticated and public pages.\n- Secure secrets for passwords and API keys.\n- Build custom connections with any npm modules.\n\n## 🔧 Extend Everything with NPM Plugins\n\n\u003e Lowdefy's [Blocks](https://docs.lowdefy.com/blocks), [Requests](https://docs.lowdefy.com/connections-and-requests), [Operators](https://docs.lowdefy.com/operators), [Actions](https://docs.lowdefy.com/events-and-actions), Auth Providers, and Adapters can all be extended with plugins, making it the most flexible config web stack.\n\u003e Powered by NPM, Lowdefy's plugin system allows developers to bundle modules using their preferred packages. Even unpublished plugins can be added to your repository, enabling easy use of project-specific code. See the [plugin docs](https://docs.lowdefy.com/plugins) and [the plugin project example](https://github.com/lowdefy/lowdefy-example-plugins) for more details.\n\n### 💼 Built for Developers and Enterprise-Ready\n\n#### 🌍 Deploy Anywhere\n\nLowdefy runs as a Next.js app in production, so you can deploy it anywhere that supports Next.js deployment. Deploy with [Vercel](https://vercel.com), [Docker](https://docs.lowdefy.com/docker), or anything that runs Next.js apps.\n\n#### 🔒 Secured with Auth.js\n\nAuthentication is built on top of Auth.js, providing the full flexibility and security from one of the most popular open-source auth layers. SSO, SAML, 2FA, no problem. Google, Okta, Auth0, and more - bring your own provider.\n\n#### 👩‍💻👨‍💻 Git Control for Humans\n\nLowdefy's minimal config is designed to be easy to read, write, and understand, making it simple to copy, paste, review changes, or pick up where others left off. Defining apps using a structured schema speeds up development in teams of any size.\n\n#### 🔑 Public, Authenticated, and Role-Based Access\n\nLowdefy supports building multi-page apps with both public and private pages, serving a wide range of use cases. Role-based access control (RBAC) allows for easy implementation of secure, granular access control where needed.\n\n### How Lowdefy Apps Work 👉 https://docs.lowdefy.com\n\nLowdefy apps are built using:\n\n- 📦 [Blocks](https://docs.lowdefy.com/blocks) are the visual part of the app, the React components. Lowdefy provides a set of default block types but app capabilities can be extended with custom blocks.\n- ⚙️ [Operators](https://docs.lowdefy.com/operators) are the functions that are used to express logic within an app. Lowdefy has many built in easy to use operator functions for creating dynamic applications with ease, however, custom javascript operators can also be loaded.\n- ⚡️ [Actions](https://docs.lowdefy.com/events-and-actions) are triggered by events, like clicking a button or loading a page. When events are triggered, a list of javascript functions can be called. Lowdefy has a set of useful actions, but applications functionality can be enriched by adding custom Lowdefy actions.\n- 📣 [Requests](https://docs.lowdefy.com/connections-and-requests) make calls to external services to hydrate applications with data or post data to external services. Lowdefy doesn't have any data storage built in. Instead, it provides connections to external services like databases and APIs.\n\nWe are working on expanding the list of connections, and you can vote for the ones you need [here](https://github.com/lowdefy/lowdefy/discussions/309).\n\n## Quick start\n\nRun:\n\n```bash\npnpx lowdefy@latest init \u0026\u0026 pnpx lowdefy@latest dev\n```\n\nThis 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.\n\n### 🔗 More Lowdefy Links\n\n- Getting started with Lowdefy - https://docs.lowdefy.com/tutorial-start\n- Lowdefy website - https://lowdefy.com\n- Community forum - https://github.com/lowdefy/lowdefy/discussions\n- Join the Lowdefy Discord - https://discord.gg/WmcJgXt\n- Bug reports and feature requests - https://github.com/lowdefy/lowdefy/issues\n\n### ⛹️‍♀️ Contributing\n\n#### Lowdefy Plugins\n\nThe simplest way to contribute to Lowdefy is by creating custom plugins like Blocks, Actions, Requests, Operators, or Auth Adapters and Providers, and publishing them to NPM for the community's benefit.\n\nEasily add and develop plugins in any Lowdefy project; refer to [the plugins project example](https://github.com/lowdefy/lowdefy-example-plugins) for a pnpm monorepo setup to jumpstart local plugin development.\n\nWhen publishing your plugin to NPM, include `lowdefy` in the name for easy discovery, and share it on our [Github Discussions](https://github.com/lowdefy/lowdefy/discussions) to inform the community.\n\n#### Lowdefy Platform Development\n\nRun Lowdefy servers locally by adding your Lowdefy config to the `app/..` folder. Use one of the following scripts to the server:\n\n- `pnpm app:cli:dev`: Starts the development server with the config provided in the `app` folder, useful for developing locally.\n- `pnpm app:cli:build`: Creates a production build of your lowdefy app for the config config provided in the `app` folder.\n- `pnpm app:cli:start`: Starts the production server of your lowdefy app built using the `build` command output.\n\n\u003e See the project `package.json` scripts for more predefined scripts.\n\nPlease also see [CONTRIBUTING.md](https://github.com/lowdefy/lowdefy/blob/main/CONTRIBUTING.md).\n\n### ☕️ Changelog\n\nConvert a v3 app to V4 - [See the v4 conversion notes.](https://docs.lowdefy.com/v3-to-v4)\n\nAll changes to this project are documented in [CHANGELOG.md](https://github.com/lowdefy/lowdefy/blob/main/CHANGELOG.md).\n\n### 🔐 Security\n\nIf you discover a vulnerability, please follow the guide in [SECURITY.md](https://github.com/lowdefy/lowdefy/blob/main/SECURITY.md) to disclose this to us responsibly.\n\n### 🤝 Code of Conduct\n\nIn the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to follow the [Contributor Covenant](https://www.contributor-covenant.org) code of conduct. See [CODE_OF_CONDUCT.md](https://github.com/lowdefy/lowdefy/blob/main/CODE_OF_CONDUCT.md) for more.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flowdefy%2Flowdefy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flowdefy%2Flowdefy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flowdefy%2Flowdefy/lists"}