Backend Dynamic Build

I recently started on the study of Back-end web development. In the course we are making a web page application. Using Node js, express, mongoDB, and i dont remember what else. My question is … Well i am confused. My whole life I have been told about these two things "front-end’ and “back-end” web development. The front-end is everything you can see and play with and sometimes refereed to as a web designer, where the “back-end” has to do with everything you cant see such as comments being posted, post updates, log ins, etc… So I always thought of them as 2 different things. in my mind if it was at work and 1 guy done front end and gave it to another guy who put the back-end to it to make it functional. Well making this dynamic web application the two is blended together, not separated like i thought. And i don’t know if this is the way they are teaching it or if that is how it is done? Lets assume i was making a static web site for a Salon and I have my HTML CSS and JS and then just put the directory up on a hosting site and there it is. Now to change that you have to change the root document. Then lets say i wanted to make a dynamic website for someone selling hand grenades, I do not even begin to make that site that same way as the static web site? The dynamic website is ran from databases such as mongoDB and mongoose and templates such as EJS and express, with the HTML CSS JS like woven into the templates and databases? Changes on the dynamic web site can be made from the databases unlike the static website?

The line between front-end and back-end developer has become a lot thinner over the years.

long time ago (before i even started programming), webpages where completely static. The programmer typed the code on the page, and that was it.

then databases where added, allowing for dynamic content on a website. However, when going to a different page, a request was made to a webserver, a whole html document was fetched and rendered

template engines like ejs simplify rendering the dynamic content on the page a lot.

today, things can be done even more dynamic. Not only is the content dynamic, the whole page is. when navigating to a different “page”, only the part that changes is fetched and then dynamically replaced on the page

lets say you look at your newsfeed in facebook, and one of your friends post a status update, we can just add this one new post without having to refresh the page

Maybe a bit oversimplified, but this gives us roughly 3 categories:
front-end designer, who can do magic with css (styling, color palettes, make the page look beautiful)
front-end developer, fetching and rendering all this dynamic things in the browser
back-end developer, well, you know what this is :wink: