Courses that teach me backend w/o monkey-code teaching?

Not those typical MERN, LAMP courses. I mean how is website built? I know html and css makes static websites. I also know vanilla js makes static website to another level. But how does routing works? How does connecting to database works? Mostly the backend part. I don’t want to follow those monkey-code tutorials that are there, but actually understand the foundations. Can you share any? I’ve not found such courses till now.

What you may need is a system design course! One of the better books are the ones by Alex Xu. He posts a lot of this content for free, and here is a PDF that can help you get started:

This may be too in the weeds as well, so let me know if that is the case. We can find other types of content as well :slight_smile:

may be that’s a good path for me. but what my confusion really is

I’ve trouble with routing urls, connecting database and verifying database is connected or not etc.
I don’t understand it.

Routing: Is the idea that you get a url and send it some where or execute code according to what the url is or what is in it. So theres many different ways of routing. Some times you just use the whole url, like http://some.where/user/adam/profile and then you run code to decide where to go on that url according to its directories… user: we know its to do with a user… adam: the user is adam… profile: they want their profile information. Or maybe http://some.where?user=adam&action=profile …same thing just described in a different way, so it depends on what system you are using, which is why its important for us to know what your trying to do and with what.

Database: Connecting to a db should be described in the API docs of the db your trying to connect to. Knowing whether its connected would be determined by whether that works and whether the commands after it work. The API should be able to tell you these things. Once again it depends on what your working with which is why we ask what your trying to do.

You seem to jump from one subject/idea to another. You really should decide on ONE thing you want to make, what language it uses (JS of course because it awesome) and what youd like to use to make it (we could help you decide what that is if we knew what you want to make). Learning to code first requires you learn a language and then the APIs you can use with it. My fav way is to first learn the language basics and then try to make something you actually want. Think about what you like beside code and then what kinda app/service you could make to complement that. For instance the first thing I ever made was for an old woman who was a friend that liked knitting and I made her an app that converted images to knitting instructions. Once you learn ANY language the knowledge will apply to other languages, just some have more crap than others, JS has some of the least compared to others.

These are the things in backend that confuse me a lot.

Let’s take this code for example.
Say I’m in server folder.

I can’t understand how config models routes and index.js relate to each other. And how do I write one?

Even for client part, I’ve trouble in understanding how files relate to each other.

For example, I’m here. Docker-Mern/client/app at master · Lucifergene/Docker-Mern · GitHub

I’ve tough time understanding how those files connect to each other. (I’ve done a MERN course worth 90 hrs already from a bootcamp).

I had to quit web development altogether and get some other job just because of this. But now, I am reigniting my desire to learn backend development as I’m not really a frontend person.

I’ve few project ideas as well.

  1. CS Notes selling site for my country.
  2. blog website
  3. Reminder in calendar.
  4. Video watched percentage calculator from a playlist. Like in udemy.
  5. Another blog where anyone can create an account and post.
  6. Locally hosted book search engine for pdf files. Like google books.

These are some of the project ideas of software development. Some are web, some are desktop based while some are android based.

I just shared this so that it could help users in answering the question.

A challenge you are running into is that you are trying to understand advanced concepts without fully understanding some of the more fundamental pieces. Why do you want to know how those files connect to each other? What are you trying to build where this knowledge will prove to be useful? If this is what led you to quit web development, then you should reconsider.

Experienced web developers in the industry wouldn’t immediately know the answer to your question here :slight_smile:

What’re the basics then? @Kirupa I think these are what I feel are basics.

When you start building small projects (that get increasingly more complex over time), the basics will start shaking out.