Okay, well you can use Angular or Angular 2 (I would recommend sticking with Angular1) and let's see..
MongoDB,
Angular 1,
Node.js,
Maybe some templating language for your css?
Anyway, you can run node on your own machine. Are you using mac or linux or win? Did you mention? It's pretty straightforward no matter which platform now, which is nice. So you make a javascript file that node can run, you run it from the command-line, and on your computer you have the "server" running. It's got a port, so when you go to localhost:3000 or whatever you set it to be via browser you'll see your site.
The next step after you make your site with Node is to get some webspace to run it. Basically you want a remote box that you can SSH into (securely command line access another box) and then clone your project (over github) or just upload it yourself. Then you run it, you make sure you have a web-server running (like apache2 or nginx) and you serve your website over the internet.
If you want to add a domain, purchase a domain on namecheap.com and go to the DNS settings. Set an A Record to the IP address of your box.
Viola, you've made an internets.