Low-code / No-code tutorial with DaDaBIK
How to create a Web application with DaDaBIK?
On our YouTube channel you can find a series of video tutorials that guide you in the process of creating a web application with DaDaBIK. If you are a beginner, we recommend that you start watching the first episode (of a series of six), which teaches you how to create a Web Application without coding in 25 minutes, by exploring the no-code development approach.
The other episodes explore some advanced DaDaBIK features, that require some coding to implement very specific part of the application logic. Those episodes explore the low-code development approach.
These tutorials were released in 2017/2018 and refer to DaDaBIK 8 and 9 so now they are pretty old, but the concepts explained are still valid, so even if the latest version of DaDaBIK provides a lot of improvements that you can't see in this video, we still suggest watching it until a new tutorial is published.
[Update August 2022: two new video tutorials, Create a custom CRM and Create an Inventory System have been published. The content of this page is still relevant but we suggest to watch these new tutorials]
On our channel you will also find another series, "Low-code corner", published in 2000 for about three months: every Monday morning, a new, short, informal viedo was published, focused on a very specific aspect related to the development of a Web application using DaDaBIK, most of the times related to the questions we receive more often. Most of the episodes in the Low-code corner series are targeted to users who already have experience with DaDaBIK.
Creating a Web application is a time consuming and complex task.
If you ARE NOT a software developer, you probably don't have the skills needed to build a Web application. If you ARE a software developer, you have such skills but probably you don't like to spend time doing those repetitive tasks each time a customer or your boss needs a new business application software.
A Web application creator like DaDaBIK can help both programmers and non-programmers: DaDaBIK is a no-code / low-code development platform that can be used to quickly develop any type of database-driven application without coding.
Can you REALLY develop a business-oriented Web application without coding?
This is usually the first question people ask us when we talk about DaDaBIK.
The answer is yes, you can: depending on how complex your application is, you might be able to build it without any coding (no-code) or, for more complex features and customizations, drastically reducing the amount of code you need to write (low-code).
Even in the second case, most of the development is done using a "point and click" approach: this means that, if you are a programmer, you can focus on the development aspects that really matter.
What kind of application, in practice, you can develop?
This is usually the second question :)
Any application that has to do with data management, browsing or reporting is a good candidate for DaDaBIK development.
Here are some examples: Library Management, Knowledge Management Archive, simple CRM applications, Sales Management applications, Real Estate listing management, Help desk, Warehouse management, Membership management, Photo collection management, Customers/suppliers management, General data-entry applications, On-line Databases.
In this article, I would like to guide you toward the creation of Web Application by using the episodes of the low-code no-code tutorial "How to Create a Web Application with DaDaBIK" I published on YouTube.
Let's start with the first episode: the idea is to create a basic sales management application without any coding. The application can be used to manage sales, agents, products, customers and to create custom chart reports. You don't need any pre-requisite to follow this episode: in 25 minutes you will see how to create a MySQL database and how to build your sales management application on the top of it: a Web, responsive, secure, business-ready application.
That's exactly the approach we normally use to build a DaDaBIK application:
- first we create a database (composed by one or more tables), that's where you store your data e.g. your customers, your products, your orders, whatever you need to register
- then we build the application logic on the top of it using DaDaBIK: you define the pages that compose your application, the forms, the application "rules", ...
What happens if I already have a database, containing some data and maybe shared with other (DaDaBIK or non-DaDaBIK) applications? What if my data is in Excel/CSV?
Even better, in this case you don't need to follow the step 1, you just tell DaDaBIK how to reach that database or Excel/CSV file and you can start the creation of the application; DaDaBIK will try to guess some of the application "rules" from your database schema, to reduce as much as possible the work you need in step 2.
If you have specific needs that you cannot cover using the point-and-click DaDaBIK approach, you can surely satisfy them: for example you can add custom formatting functions, custom validation functions or - through DaDaBIK hooks - add more sophisticated application logic to be executed when a certain event occurs, for example you can write the code needed to automatically submit an order to your supplier based on a defined product re-order threshold.
The second, third and fourth episodes of the series explore some of those advanced DaDaBIK features, those features require some coding to implement very specific part of the application logic. While the first episode showed the no-code development approach, these episodes explore the low-code development one.
The second episode, in particular, is about Calculated Fields: we use Calculated Fields when, for a form field, we don't want/need an input from the user, we want to fill the field automatically, according to some logic. For example, let's say we have a products form and we want, for the field Price (US Dollars), that the value is calculated automatically by reading the content of the field Price (Euros), retrieving the exchange rate from an on-line service and computing the corresponding price in US Dollars. We can easily do that using Calculated Fields.
The third episode is about an advanced DaDaBIK feature: Custom Functions; we learn how to validate and format data according to custom rules (i.e. custom validation and custom formatting functions) and how to define a field as "required" according to custom rules, for example according to the value of other fields (i.e. custom required functions).
The fourth episode is about another advanced DaDaBIK feature: Hooks. We learn how to create a custom function that is executed every time a particular event occurs, for example after the insertion of a record in a table. In particular, in our example, when a new order is placed, our custom function automatically updates the product quantity in the warehouse and sends a "low inventory" email if needed.
The fifth episode introduces in details the use of VIEWS in a DaDaBIK application. In particular we will see one of the basic uses of VIEWS: how to add a filtered version of a table (or a pre-defined search) to our application.
For example, let's say that in our application we have a page customers, from which we can see and manage the information related to all our customers; based on the same database table you might want to add other pages to your menu, created using some sort of filter/manipulation of the customers data, e.g.: Italian customers, TOP customers, customers registered in 2017...
You can easily do that using VIEWS.
The sixth episode introduces an advanced DaDaBIK feature: Row-Level Custom Filters. DaDaBIK has a built-in feature that allows you to filter your record according to the record ownership (e.g. a user can only see the record he/she inserted); sometimes, however, this is not enough and you want your record to be filtered by some different crtiera. An example: you want to show to each of your sale agents, only the sales related to their geographic area: you can do that by using a Row-Level Custom Filter, a custom PHP function that defines your filter.