8cd7ba1fdf
* Add full undo/redo support for screens * Add loading states to disable spamming undo/redo * Add keyboard shortcuts for undo and redo * Fix modals not closing in design section when escape is pressed * Remove log * Add smart metadata saving to undo/redo * Add error handling to undo/redo * Add active state to hoverable icons * Fix screen deletion * Always attempt to get latest doc version before deleting in case rev has changed * Move undo listener top level, hide controls when on certain tabs, and improve selection state * Add tooltips to undo/redo control * Update automation section nav to match other sections * Fix automation list padding * Fix some styles in create automation modal * Improve automation section styles and add undo/redo * Update styles in add action modal * Fix button size when creating admin user * Fix styles in add automation step modal * Fix issue selecting disabled automation steps * Reset automation history store when changing app * Reduce spammy unnecessary API calls when editing cron trigger * WIP automation refactor * Rewrite most automation state * Rewrite most of the rest of automation state * Finish refactor of automation state * Fix selection state when selecting new doc after history recreates it * Prune nullish or empty block inputs from automations and avoid sending API requests when no changes have been made * Fix animation issues with automations * Sort automations and refetch list when adding or deleting * Fix formatting * Add back in ability to swap between values and bindings for block inputs * Lint * Format * Fix potential issue in design section when selected screen is unset * Fix automation arrow directions everywhere, tidy up logic and fix crash when using invalid looping * Lint * Fix more cases of automation errors * Fix implicity any TS error * Respect _id specified when creating automations * Fix crash in history store when reverting a change on a doc whose ID has changed * Lint * Ensure cloneDeep helper doesn't crash when a nullish value is passed in * Remove deprecated frontend automation test --------- Co-authored-by: Rory Powell <rory.codes@gmail.com> |
||
---|---|---|
.github | ||
.husky | ||
.vscode | ||
charts/budibase | ||
docs | ||
examples/nextjs-api-sales | ||
hosting | ||
i18n | ||
packages | ||
qa-core | ||
scripts | ||
specs | ||
.all-contributorsrc | ||
.dockerignore | ||
.eslintignore | ||
.eslintrc.json | ||
.gitignore | ||
.gitmodules | ||
.nvmrc | ||
.prettierignore | ||
.prettierrc.json | ||
.python-version | ||
.tool-versions | ||
.yarnrc | ||
LICENSE | ||
README.md | ||
SECURITY.md | ||
artifacthub-repo.yml | ||
index.yaml | ||
jestTestcontainersConfigGenerator.js | ||
lerna.json | ||
package.json | ||
pull_request_template.md | ||
tsconfig.json | ||
yarn.lock |
README.md
Budibase
The low code platform you'll enjoy using
Budibase is an open source low-code platform, and the easiest way to build internal apps that improve productivity.
🤖 🎨 🚀
Get started - we host (Budibase Cloud) · Get started - you host (Docker, K8s, DO) · Docs · Feature request · Report a bug · Support: Discussions
✨ Features
Build and ship real software
Unlike other platforms, with Budibase you build and ship single page applications. Budibase applications have performance baked in and can be designed responsively, providing your users with a great experience.
Open source and extensible
Budibase is open-source - licensed as GPL v3. This should fill you with confidence that Budibase will always be around. You can also code against Budibase or fork it and make changes as you please, providing a developer-friendly experience.
Load data or start from scratch
Budibase pulls in data from multiple sources, including MongoDB, CouchDB, PostgreSQL, MySQL, Airtable, S3, DynamoDB, or a REST API. And unlike other platforms, with Budibase you can start from scratch and create business apps with no datasources. Request new datasources.
Design and build apps with powerful pre-made components
Budibase comes out of the box with beautifully designed, powerful components which you can use like building blocks to build your UI. We also expose a lot of your favourite CSS styling options so you can go that extra creative mile. Request new component.
Automate processes, integrate with other tools, and connect to webhooks
Save time by automating manual processes and workflows. From connecting to webhooks, to automating emails, simply tell Budibase what to do and let it work for you. You can easily create new automations for Budibase here or Request new automation.
Integrate with your favorite tools
Budibase integrates with a number of popular tools allowing you to build apps that perfectly fit your stack.
Admin paradise
Budibase is made to scale. With Budibase, you can self-host on your own infrastructure and globally manage users, onboarding, SMTP, apps, groups, theming and more. You can also provide users/groups with an app portal and disseminate user-management to the group manager.
- Checkout the promo video: https://youtu.be/xoljVpty_Kw
Budibase Public API
As with anything that we build in Budibase, our new public API is simple to use, flexible, and introduces new extensibility. To summarize, the Budibase API enables:
- Budibase as a backend
- Interoperability
Docs
You can learn more about the Budibase API at the following places:
- General documentation : Learn how to get your API key, how to use spec, and how to use with Postman
- Interactive API documentation : Learn how to interact with the API
Guides
🏁 Get started
Deploy Budibase self-hosted in your existing infrastructure, using Docker, Kubernetes, and Digital Ocean. Or use Budibase Cloud if you don't need to self-host, and would like to get started quickly.
Get started with self-hosting Budibase
Get started with Budibase Cloud
🎓 Learning Budibase
The Budibase documentation lives here.
💬 Community
If you have a question or would like to talk with other Budibase users and join our community, please hop over to Github discussions
❗ Code of conduct
Budibase is dedicated to providing a welcoming, diverse, and harrassment-free experience for everyone. We expect everyone in the Budibase community to abide by our Code of Conduct. Please read it.
🙌 Contributing to Budibase
From opening a bug report to creating a pull request: every contribution is appreciated and welcomed. If you're planning to implement a new feature or change the API please create an issue first. This way we can ensure your work is not in vain. Environment setup instructions are available for Debian and MacOSX
Not Sure Where to Start?
A good place to start contributing, is the First time issues project.
How the repository is organized
Budibase is a monorepo managed by lerna. Lerna manages the building and publishing of the budibase packages. At a high level, here are the packages that make up Budibase.
-
packages/builder - contains code for the budibase builder client side svelte application.
-
packages/client - A module that runs in the browser responsible for reading JSON definition and creating living, breathing web apps from it.
-
packages/server - The budibase server. This Koa app is responsible for serving the JS for the builder and budibase apps, as well as providing the API for interaction with the database and file system.
For more information, see CONTRIBUTING.md
📝 License
Budibase is open-source, licensed as GPL v3. The client and component libraries are licensed as MPL - so the apps that you build can be licensed however you like.
⭐ Stargazers over time
If you are having issues between updates of the builder, please use the guide here to clear down your environment.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!