Accelerate Development with Budibase: A Guide for Engineers
Think of Budibase as a productivity multiplier. While you're an expert at building complex, custom systems from scratch, many internal tools share common features
forms, dashboards, and database connections. Instead of writing all that code yourself, you can use Budibase to
Quickly build CRUD apps
Need an admin panel to manage a database? You can create a full-featured interface for PostgreSQL, MySQL, MongoDB, and more in minutes. This frees you up to focus on more challenging, core engineering tasks.
Automate repetitive tasks
The built-in automation features allow you to create workflows that trigger on events, such as a new record being added to a table. You can use these to send emails, call an external API, or update another database.
Create prototypes and MVPs
Have an idea for a new internal tool? You can build a working prototype in Budibase in a few hours, allowing you to get feedback from stakeholders quickly. This helps you validate the concept before you invest a significant amount of development time.
Empower non-technical users
By creating a low-code platform, you can empower your business users to build their own simple tools, reducing the number of requests you receive for minor application changes.
Budibase is an open-source project, and it's super easy to get up and running, especially with Docker.
Install Docker
If you don't already have it, install Docker and Docker Compose on your machine.
Clone the repository
Grab the project from its GitHub repository.
git clone https://github.com/Budibase/budibase.git
cd budibase
Start the containers
Use Docker Compose to launch all the necessary services.
docker-compose up -d
This command will download the images and start the Budibase server, database, and other components in the background.
Access the interface
Once the containers are running, open your web browser and navigate to http://localhost:10000. You'll be guided through the initial setup, including creating an admin account.
Let's imagine you need to build a simple dashboard for your sales team to view customer data.
In the Budibase builder, click on "Data" and then "Add Source". You can choose your database type (e.g., PostgreSQL). Enter your connection details. Budibase will automatically detect the tables in your database.
Go to "Screens" and click "New Screen". Choose a template, like a "Table" screen. Select your customers table as the data source. Budibase will automatically create a table view that displays your customer data.
You can drag and drop components onto the screen. Add a "Text Input" for a search bar and a "Filter" component. You can then configure these components to filter the data in your customer table based on the user's input, all without writing any code.
Create a new screen called "Customer Details." Add a "Form" component and connect it to your customers table. When a user clicks on a customer in the main table view, you can configure a link to open this form, allowing them to edit the customer's information.
While Budibase is a low-code platform, you can still inject your own code. Let's say you want to add a custom button that calls an external API.
Create an Automation
Go to the "Automate" tab. Create a new automation and set the trigger to be a "Button Click" on your screen.
Add an Action
In the workflow editor, add an action called "Fetch Rows". You can use this to get the data you need. Then, add a "Call API" action.
Configure the API Call
You can use Budibase's binding syntax to pass data from your app into the API call's URL or body. For example, to call an endpoint with the customer's ID, you would use
URL: https://api.example.com/customers/{{ Screen.Table.SelectedRow.id }}
The {{ }} syntax lets you easily bind dynamic data from your components or tables.