First, sign up for an account at https://000webhost.com if you don't already have one.
Then, create a site, picking a name and a password.
Now, create a Cloudflare account at https://www.cloudflare.com/a/sign-up
Next, add your domain in the text box, and click "Scan DNS Records".
Watch the video as the system collects your current DNS records, then add any missing records. Then click continue.
Verify that all of your current records are shown, then click continue again.
Select the "Free Website" option and click continue.
Take note of your current name servers, and change them to the name servers listed.
Then click continue.
Wait up to 24 hours for name server changes to take place, and recheck name servers every few hours.
When name servers have been changed, you should be able to refresh the page and see something similar to the image below.
Next, go to the "Crypto" tab of your Cloudflare dashboard. Make sure "SSL" is set to flexible.
Now, go to the "DNS" tab of your Cloudflare dashboard. Add the cname record for your 000webhost free site, as seen in the "My Domains" section of your Control Panel.
Make sure that the orange cloud icon is displayed. If the icon is gray, click it once to turn it orange. This will ensure that the SSL works properly.
Then, add your domain in your Control Panel, allowing a few minutes for DNS to propagate.
Then, simply design your website and add HTTPS in front of your domain when accessing your site. Simple as that.