How to allow WordPress users create sub-website or mini-website under my domain with any basic site builder?

I have done something similar. You can do this with WordPress out of the box – no development required.

How I did this was to use WordPress in multisite mode. You can select the themes that are network-enabled (available to all users).

Here is the official guide to using WordPress in multisite mode. You can run this as subdomain or sub-folder

Enable user registration and site creation and you have just completed your project.

I would suggest you explore BuddyPress which I use to allow all my users’ posts to appear on the main site. However, that is a new level of complexity that might not be right for you.

You can force plugins to always be active (network activate) or allow users to optionally activate them. To hide some plugins, I believe I used another plugin but it has been too long and I do not remember.