Learning to code is not a linear thing, I am finding out. Everything I truly learn is something I have gone over several times. I am currently working through a Udemy tutorial titled The Complete Node.js Developer Course, and this is probably the third time I have worked on NodeJS in some depth. The thing I like about this current tutorial, however, is that I am creating real apps that I can deploy to Heroku. I’m building out my portfolio of projects, I guess.

Let me break this down in a list of things I am currently working through. This is a helpful way for me to structure my thoughts.

  • NodeJS: Essentially, NodeJS is just JavaScript written for the back-end. I like that I don’t necessarily need to learn a new programming language, although its use is a bit more complicated. As I said above, this is really the third or fourth time I am going through a tutorial on Node, so it is a bit more clear to me this time around.
  • NPM: NPM is so dead simple to use I don’t know why I’m spending any effort writing about it. This is basically just a repository for JavaScript packages that make coding a lot simpler. Again, dead simple, yet very powerful.
  • Express: Express is a NodeJS framework that makes it easier to create a web server with Node. I have used it before, but this time around it seems to have been more clear. I have already created a weather app that I was able to deploy to Heroku. This is something I can build out a bit when I have the time. I have to work on the code for the probability of precipitation since this doesn’t seem to work. A simple, clean app, though.
  • MongoDB: MongoDB is a database that is separate from Node but works well with it. This is probably the third time I have done a project with MongoDB, and I think I have a better grasp of it this time around; so far I have been able to follow along with the coding challenges quite easily. Recently I have worked with other SQL databases (SQLite and PostgreSQL), while MongoDB is a NoSQL database - I haven’t memorized all the differences between these two types, but I basically get the picture.
  • Mongoose: Mongoose is a Node library for using MongoDB, and it truly makes the whole process a lot simpler. So far so good, though I’ve just been through the basic functionality. This is probably the second or third time I’ve worked with Mongoose.
  • Robo 3T: Robo 3T is a free software for managing MongoDB databases, and it is, so far, dead simple. I’m very happy to have found this.
  • Postman: Postman is a software for developing and testing APIs. I have used it before, but I can’t say I have understood it very well. In any event, this is one of the next things we are going to work with in the current tutorial. We’ll see if I understand it any better this time around.