Welcome to our course, in which you will learn how to build a multitenant online food selling platform using WordPress, WooCommerce and Wildcloud. This online restaurant management platform will allow your users to create and manage a website for their restaurants, on which they will be able to sell food online, manage an online ordering system for their restaurants, etc.
Instead of using a WordPress Multisite network, we will use the multitenant structure, which will allow us to integrate individual sites that share the same code base but each site will use its own database.
In this lesson, you will learn some key concepts to understand the Wildcloud ecosystem and create the necessary applications to build your online restaurant management platform.
Understanding the Wildcloud ecosystem:
Here are some important concepts you need to understand about the Wildcloud ecosystem:
- Wildcloud is a platform that offers scalable WordPress hosting with a shared codebase. It’s a great solution for agencies and businesses managing multiple websites, as it allows you to create WordPress site templates, sell those templates as a product, and automatically create a website for every person that buys your product or application. Wildcloud allows you to build a serverless platform because they manage the server and scalability of your platform for you.
- Multitenancy refers to using the same WordPress code-base across multiple independent WordPress sites. In a multitenant setup, all client sites share a common code base, that is, the same WordPress core code, plugins, themes, and language files.
- An Application is your entire digital product, like a WordPress based WaaS or SaaS. It contains all other elements of the platform, like versions, tenants (sites), snapshots, and backups.
- Versions contain the shared application code (plugins, themes, and language files) for your tenants (actual client sites). This means that if you want to add, remove or update plugins or themes across all sites/tenants, you will need to apply those changes to the versions. You must do the same if you want to update the WordPress version. And when you finish applying the changes, you must deploy the version so that all sites based on that version are updated.
- On Wildcloud, sites are called Tenants. These are the actual client sites that you link to live domains. Because all code is shared and controlled via the version, you cannot install, update or delete plugins or themes on the tenants. You have to do it on the versions.
WordPress Multisite vs. WordPress Multitenancy
A key approach to better understand the differences between WordPress Multisite and WordPress Multitenancy is to look at the way both structures use databases.
Multisite
WordPress Multisite uses a single database for all sites within the multi-site network. Each site’s data is stored in separate tables within that single database. It’s like having different rooms (websites) in a house (database), each with its own space but still part of the same structure.
It offers efficiency and centralized management, but may face scalability challenges and limited customization options for individual sites.
Multitenant
WordPress Multitenancy provides better data isolation, customization, and scalability options for individual tenants, but may require more resources and management overhead.
With WordPress Multi-tenancy, each tenant or site has its own separate database, although it uses a shared codebase (WordPress version, plugins, themes, language files). It’s like each tenant in an apartment building having their own private storage space. Each installation of WordPress for each tenant operates independently with its own set of tables and data.
You can read more about Multisite vs. Multitenant by clicking here.
Creating a WordPress application on Wildcloud
The first thing you need to do is create the Wildcloud applications that will allow you to build your restaurant management platform.
You just have to follow these steps:
Step 1 – Log in to your Wildcloud account.
Step 2 – Click on Create Application.
Step 3 – Select Empty application and click on Next.
Step 4 – Select the region where you want to create your application and click on Next.
Tip: Select a region that is geographically closest to your primary audience for faster server response and better performance of your platform.
In this example, we will select US1 (N. Virginia).
Step 5 – Add a name for your application and click on Next.
We will call it Restaurant Manager App, but you can assign the name you want.
Creating a storefront application on Wildcloud
Step 6 – Click on Next to create a storefront application.
This storefront application will allow you to create a site where you will sell subscriptions to your restaurant management platform. You will be able to automate subscription sales, client registration, and client’s access to their sites or tenants.
Look at it this way: The empty application (WaaS) is our software for building online restaurant stores, while the storefront application allows us to create the site where we will be able to sell our software. And these two applications will be automatically connected if we create the storefront app in this step.
Step 7 – Add a name for your storefront application and click on Create and connect Storefront.
You will need to wait a few minutes for your applications to be completed.
Finally, you will see this page from which you can access the applications, versions and sites/tenants that have been created.
You can also go to the Applications page on the Wildcloud dashboard if you want to use the normal page.
This is the page we will use from now on, every time you log in to your Wildcloud account.
Optional – Adding custom domains to your sites/tenants
Wildcloud allows you to add custom domains to the sites/tenants on your applications. For example, in the storefront application, a site/tenant is created by default, which we will use in the following lessons.
If we open the details of that site, we can see the instructions to assign a custom domain.
Once we have added a new custom domain, we have to select it as Main Domain.
In this course, we will use the default domains, but you can assign custom domains to your sites if you want.
Now that we have created the necessary Wildcloud applications, we can proceed to install all the required plugins for our multitenant restaurant management platform, which we will do in the next lesson.