You must have a host and a domain.
There are sites on the Internet that provide you with hosts and domains for free and for a fee.
I will explain the concepts of hosts and domains and web hostings with example:
Let us have a land where customers are supposed to come and build a house on this land.
We who own the land and are going to divide the land for the customers are the same provider sites that call us web hosting, And the piece of land that we give to the customer to build his house are called hosts.
Each piece of land has a series of features that, like the area of land and the resources that are available to us, in reality hosts also have a series of features such as volume and other things.
Now these piece of land have an address that person gives that address to others so that others can see the house he built.
This address is called a domain.
I hope I explained well.
You need to host your website. Or you can port forward. And you can also use tunnel. Ngrok and kite are the programs by which you can create tunnel very easily.
You can also use hosting sites like 000webhostapp which is free and hostinger which is paid