How to Build a REST API CRUD Application
Tags: restapi, crud, webapp, sql
Published: 2024-03-06 01:01:29

<!-- wp:heading -->
<h2 class="wp-block-heading" id="how-to-build-a-rest-api-crud-app-in-five">How to Build a REST API CRUD App in Five</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><strong>CRUD</strong>&nbsp;is a commonly used acronym in software and application development. The acronym describes the four basic operations that can be performed on a database:&nbsp;<strong>C</strong>reate,&nbsp;<strong>R</strong>ead,&nbsp;<strong>U</strong>pdate, and&nbsp;<strong>D</strong>elete.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>As developers or database administrators, we are often tasked with creating user roles that carry different CRUD permissions.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading" id="goals-outcomes-creating-a-rest-api-crud-app-in-4-steps">Goals &amp; Outcomes: Creating a REST API CRUD App in 4 Steps</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>In this how-to guide, we will go through the 4 steps of creating a REST API CRUD App. These steps are:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li><strong><strong>Creating&nbsp;a&nbsp;New&nbsp;Application&nbsp;With&nbsp;Five</strong></strong>.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Using The Connection Wizard</strong></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Using your API as a Data Source.</strong></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong><strong>Assigning CRUD Permissions</strong>.</strong></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Our final result will be a responsive REST API CRUD app for end-users to interact with.</p>
<!-- /wp:paragraph -->

<!-- wp:rank-math/toc-block {"headings":[{"key":"42d12d6d-1ec1-4dbc-a277-89f640d51c3c","content":"How to Build a REST API CRUD App in Five","level":2,"link":"#how-to-build-a-rest-api-crud-app-in-five","disable":false,"isUpdated":false,"isGeneratedLink":true},{"key":"e77801eb-951e-4a32-9aa3-0c47bad0de8d","content":"Goals \u0026 Outcomes: Creating a REST API CRUD App in 4 Steps","level":3,"link":"#goals-outcomes-creating-a-rest-api-crud-app-in-4-steps","disable":false,"isUpdated":false,"isGeneratedLink":true},{"key":"929111a6-3a8d-4058-a8e7-c41464304179","content":"What Are CRUD Operations in SQL?","level":2,"link":"#what-are-crud-operations-in-sql","disable":false,"isUpdated":false,"isGeneratedLink":true},{"key":"5893f871-a154-45e6-b162-d349159779a2","content":"Permissions in a CRUD App","level":3,"link":"#permissions-in-a-crud-app","disable":false,"isUpdated":false,"isGeneratedLink":true},{"key":"216e4392-fc31-4d4e-8c13-1fa64f0a32de","content":"How to Create A REST API CRUD Application in 4 Steps","level":2,"link":"#how-to-create-a-rest-api-crud-application-in-4-steps","disable":false,"isUpdated":false,"isGeneratedLink":true},{"key":"8698e7ca-aea9-4f05-9aa0-5153db43a093","content":"Step 1: Creating a New Application With Five.","level":3,"link":"#step-1-creating-a-new-application-with-five","disable":false,"isUpdated":false,"isGeneratedLink":true},{"key":"6c220611-c038-4d7f-9282-71cd83406e22","content":"Step 2: Using The Connection Wizard","level":3,"link":"#step-2-using-the-connection-wizard","disable":false,"isUpdated":false,"isGeneratedLink":true},{"key":"7138f9e2-c928-4ccd-b847-8e73653228b0","content":"Setting up the Endpoints: ","level":4,"link":"#setting-up-the-endpoints","disable":true,"isUpdated":false,"isGeneratedLink":true},{"key":"ff59884a-58aa-4c8c-9293-9f4ed2c746db","content":"Step 3: Using API As a Data Source","level":3,"link":"#step-3-using-api-as-a-data-source","disable":false,"isUpdated":false,"isGeneratedLink":true},{"key":"553b1b41-7f31-41e8-a81b-65d23cac8c8f","content":"Step 4: CRUD Permissions","level":3,"link":"#step-4-crud-permissions","disable":false,"isUpdated":false,"isGeneratedLink":true},{"key":"39b03eff-143f-4671-9af6-2133f92a6d56","content":"Conclusion","level":2,"link":"#conclusion","disable":false,"isUpdated":false,"isGeneratedLink":true}],"listStyle":"ul"} -->
<div class="wp-block-rank-math-toc-block" id="rank-math-toc"><nav><ul><li class=""><a href="#how-to-build-a-rest-api-crud-app-in-five">How to Build a REST API CRUD App in Five</a><ul><li class=""><a href="#goals-outcomes-creating-a-rest-api-crud-app-in-4-steps">Goals &amp; Outcomes: Creating a REST API CRUD App in 4 Steps</a></li></ul></li><li class=""><a href="#what-are-crud-operations-in-sql">What Are CRUD Operations in SQL?</a><ul><li class=""><a href="#permissions-in-a-crud-app">Permissions in a CRUD App</a></li></ul></li><li class=""><a href="#how-to-create-a-rest-api-crud-application-in-4-steps">How to Create A REST API CRUD Application in 4 Steps</a><ul><li class=""><a href="#step-1-creating-a-new-application-with-five">Step 1: Creating a New Application With Five.</a></li><li class=""><a href="#step-2-using-the-connection-wizard">Step 2: Using The Connection Wizard</a><ul></ul></li><li class=""><a href="#step-3-using-api-as-a-data-source">Step 3: Using API As a Data Source</a></li><li class=""><a href="#step-4-crud-permissions">Step 4: CRUD Permissions</a></li></ul></li><li class=""><a href="#conclusion">Conclusion</a></li></ul></nav></div>
<!-- /wp:rank-math/toc-block -->

<!-- wp:separator -->
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<!-- /wp:separator -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="what-are-crud-operations-in-sql">What Are CRUD Operations in SQL?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CRUD refers to Create, Read, Update, and Delete. Assigning and managing CRUD permissions is a very common task in programming.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>CRUD describes the four basic operations that a user can perform in a database. Users can</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li><em>Create</em>&nbsp;or&nbsp;<em>insert&nbsp;</em>new records into a table,</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><em>Read</em>&nbsp;or&nbsp;<em>select</em>&nbsp;existing records from a table,</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><em>Update</em>&nbsp;or&nbsp;<em>modify&nbsp;</em>existing records stored inside a table, or</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><em>Delete</em>&nbsp;or&nbsp;<em>remove&nbsp;</em>existing records from a table.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading" id="permissions-in-a-crud-app">Permissions in a CRUD App</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>CRUD permissions refer to the permissions granted to anyone having access to a database to perform all or part of the four basic operations on data: Create, Read, Update, and Delete. By assigning CRUD permissions, developers control and govern access to data stored in a database.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In SQL, CRUD permissions are often managed by granting or revoking permissions to specific users or roles. These permissions are typically set at the database level or on individual tables within the database.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>It’s essential to carefully manage CRUD permissions in a web app to protect data from unauthorized access, modification, or deletion.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>By granting the appropriate permissions to trusted users or roles and denying them to others, application developers ensure that only authorized users can interact with the data in the database. This approach helps to maintain data integrity, security, and privacy.</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>Let’s say you are a restaurant owner and you’d like to make sure your staff can enter the kitchen, but your guests can only stay in the dining room. How would you solve this problem? Easy! You have two roles: staff and guest. Each role has its own permission to enter different parts of the restaurant.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This is what CRUD permissions do for databases: they are used to govern access. By using CRUD operations, developers can make sure that data stays safe and is only accessed as intended. CRUD permissions are a useful tool in a developer’s access control toolbox!</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>Now let’s dive in!</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="how-to-create-a-rest-api-crud-application-in-4-steps">How to Create A REST API CRUD Application in 4 Steps</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading" id="step-1-creating-a-new-application-with-five">Step 1: Creating&nbsp;a&nbsp;New&nbsp;Application&nbsp;With&nbsp;Five.</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Let’s start by creating a new application with Five. To do so,&nbsp;<a href="https://five.co/download-five/">download Five from our website free of charge</a>&nbsp;and launch it on your computer. The first screen you will see looks like this.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2085} -->
<figure class="wp-block-image"><img src="https://five.co/wp-content/uploads/2023/08/Five.Co-Landing-Page-1024x649.png" alt="Five.Co - Landing Page" class="wp-image-2085"/></figure>
<!-- /wp:image -->

<!-- wp:separator -->
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>Here’s how to create a new web application using Five:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li>Start by clicking on&nbsp;<strong>Applications&nbsp;</strong>in the top left corner.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Next, click on the yellow&nbsp;<strong>Plus&nbsp;</strong>button.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Give your application a descriptive name in the&nbsp;<strong>Title</strong>&nbsp;field, and save it by clicking the tick mark in the top right.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Done: You have successfully created your first application in Five. Here’s what this should look like before clicking Save.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:image {"id":1605} -->
<figure class="wp-block-image"><img src="https://five.co/wp-content/uploads/2023/08/image-31-1024x617.png" alt="Click the Tick Mark in the Top Right Corner to Save" class="wp-image-1605"/></figure>
<!-- /wp:image -->

<!-- wp:separator -->
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>You will now see your new application in the list of all applications that you have created with Five.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Next, click on the blue “<strong>Manage</strong>” button that has appeared in the top right corner to access all of Five’s development features.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":741} -->
<figure class="wp-block-image"><img src="https://five.co/wp-content/uploads/2023/01/Five.Co-Manage-Your-Application.png" alt="Five.Co - Manage Your Application" class="wp-image-741"/></figure>
<!-- /wp:image -->

<!-- wp:separator -->
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<!-- /wp:separator -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading" id="step-2-using-the-connection-wizard">Step 2: Using The Connection Wizard</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Let’s dive straight into connecting our API. For this tutorial, we’ll utilize the Dummy JSON API, which offers sample data for various products</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We can start by clicking on&nbsp;<strong>Data</strong>&nbsp;and then navigating to&nbsp;<strong>Connection Wizard</strong></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2482} -->
<figure class="wp-block-image"><img src="https://five.co/wp-content/uploads/2024/02/image-61.png" alt="" class="wp-image-2482"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>After clicking on the Wizard, you’ll be presented with an interface that has some similarities to Postman. Start by selecting ‘New’ from the WebService lookup, then assign it a WebService ID and Name. For our purposes, we’ll use the name “<strong>DummyProducts</strong>.”</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Next, apart from general, you’ll notice several other tabs at the top:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li><strong>Read List Mapping:&nbsp;</strong>This expects an endpoint that returns all records from the API using a GET method.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Read Single Mapping:&nbsp;</strong>Requires an endpoint that provides a single record.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Create Single:&nbsp;</strong>Here, you’ll need an endpoint where you can send a POST request to add a new record.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Update Single:&nbsp;</strong>This is for an endpoint where you can use a PUT or PATCH method to update an existing record.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Delete Single:&nbsp;</strong>This tab expects an endpoint that, through a DELETE request, allows you to remove a record from the API.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading" id="setting-up-the-endpoints">Setting up the Endpoints<strong>:&nbsp;</strong></h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>For the “<strong>Read List Mapping</strong>“, we’ll input the endpoint that fetches all records. Since we are Utilizing the Dummy JSON API, the relevant URL is:&nbsp;<a href="https://dummyjson.com/products" rel="noreferrer noopener" target="_blank">https://dummyjson.com/products</a>&nbsp;(as mentioned on their official website)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Once you’ve entered the endpoint, click “Send” to view the returned results.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2483} -->
<figure class="wp-block-image"><img src="https://five.co/wp-content/uploads/2024/02/image-62.png" alt="" class="wp-image-2483"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>If your API mandates authorization or specific headers, you can set these up in the adjacent ‘Authorization’ and ‘Headers’ tabs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For “<strong>Read Single Mapping</strong>“, “<strong>Update Single</strong>“, and “<strong>Delete Single</strong>“, we’ll utilize an endpoint that fetches a specific record. According to the Dummy JSON website, the relevant URL structure is https://dummyjson.com/products/{productID}, where {productID} represents the product’s ID.&nbsp;</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Let’s use this in the connection wizard now our URL should look something like this:&nbsp;<a href="https://dummyjson.com/products/:id" rel="noreferrer noopener" target="_blank">https://dummyjson.com/products/:id</a>&nbsp;where ‘id’ is the variable where we will pass the product’s ID</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2481} -->
<figure class="wp-block-image"><img src="https://five.co/wp-content/uploads/2024/02/image-60.png" alt="Building a REST API Crud App" class="wp-image-2481"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>For the “<strong>Create Single Mapping</strong>“, we’ll use the endpoint https://dummyjson.com/products/add. This endpoint enables us to add new records to the API via a POST request.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Finally, we can click on save to store the connection</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading" id="step-3-using-api-as-a-data-source">Step 3: Using API As a Data Source</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Now that we’ve established a connection in Five, it can be utilized as a data source. For the purpose of this tutorial, we’ll construct a basic form using this connection.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>First, click on “Visual” followed by “Form Wizard”. In the primary data source lookup, choose “DummyProducts” (or any other name you might have given your connection).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Five will take care of populating most of the details for you. At this stage, you’re welcome to modify any settings as you see fit.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2006} -->
<figure class="wp-block-image"><img src="https://five.co/wp-content/uploads/2023/10/Frame-39-1024x548.png" alt="" class="wp-image-2006"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Click ‘Save’ to store the form, and then we can finally run our application</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2007} -->
<figure class="wp-block-image"><img src="https://five.co/wp-content/uploads/2023/10/Frame-16-2-1024x190.png" alt="" class="wp-image-2007"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>In your end-user application, you now have a form that contains all of the products from the API. You can click on each record to view their details, even make changes, add new records, and delete them as well.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":2008} -->
<figure class="wp-block-image"><img src="https://five.co/wp-content/uploads/2023/10/Frame-40-1024x548.png" alt="" class="wp-image-2008"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Congratulations! You’ve successfully built an application on Five that uses an API as a data source in just three simple steps.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading" id="step-4-crud-permissions">Step 4: CRUD Permissions</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Once we’ve built our app it’s now time to assign CRUD permissions as outlined in this video:</p>
<!-- /wp:paragraph -->

{% embed https://www.youtube.com/watch?v=7bcX-4O6-OY %}

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li><strong>Multi-User Conversion</strong>:<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Access the application settings within Five.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Enable the “Multi-User” toggle, which automatically adds essential features like a login page, user management capabilities, and a default admin account setup.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Admin Account Setup</strong>:<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Upon running the multi-user app for the first time, log in using the default “admin” username and password.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Immediately update the password to secure the admin account.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>User Role Creation</strong>:<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Navigate to the “Roles” section under application settings.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Create new roles (e.g., “Managers”) and define their permissions, focusing on what CRUD operations they can perform on specific tables or sections of the app.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Assigning Menus to Roles</strong>:<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Organize the app’s navigation by creating new menus or adjusting existing ones.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Assign menus to specific roles, ensuring users only see navigation options relevant to their permissions.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Adding and Managing Users</strong>:<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Through the “Users” menu, add new users by providing details like username, email, and assigning them a role.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Set initial passwords for these users, with an option for them to update upon first login.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>In the video we use our order management template the process. For instance, “Managers” might have read and update access to order details but not the ability to alter product information.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To view the rest of our use cases click&nbsp;<a href="https://five.co/use-cases/">here</a></p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<!-- /wp:separator -->

<!-- wp:paragraph -->
<p>Five automatically creates a clean and intuitive&nbsp;<a href="https://five.co/blog/the-admin-panel-the-best-web-app-template/">admin panel user interface</a>&nbsp;on top of your data for you.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Running along the top and the left-hand side, Five gives you a menu that lets end-users navigate through your application. On the top, you have icons for in-app help or a user avatar that is particularly handy for multi-user applications. And in the center, there is a main area for your users to interact with your application, its forms, charts, dashboards, or any other element that you decide to develop for them.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This user interface is customizable through themes, buttons, or custom front-end components. It also handles more complex data structures very well, by letting you add pages, drill downs, or parent-child menus.</p>
<!-- /wp:paragraph -->

<!-- wp:separator -->
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<!-- /wp:separator -->

<!-- wp:heading -->
<h2 class="wp-block-heading" id="conclusion">Conclusion</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Five is capable of building even complex applications. Follow this&nbsp;<a href="https://www.youtube.com/watch?v=jcRAhyw9rmI&amp;list=PLerqEA4wsHa2vY5vW3fK1Nkl4Npxn5MKQ" rel="noreferrer noopener" target="_blank">guided YouTube tutorial to delve deeper into Five’s features</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Whatever you wish to build with Five:&nbsp;Happy coding!</p>
<!-- /wp:paragraph -->