The first mission in my quest to become a full stack developer is to build a blog from scratch. To get started I looked into Node.js. After digging around a bit and finding some less useful tutorials I rediscovered W3schools. A very useful and free resource for learning web technologies.
Reading through their Node.JS documentation I quickly realised, while learning Node.js seems fairly straight forward, there seems to be no guide as to how to architect an application or database. So I started by reading a lot of material about backend development. In this post I will share some of these sources and talk about how I will proceed in my quest.
In particular I found this site very useful:
They very clearly explain and show what’s going on when you send a http request from your client.
They also explain the difference between SQL and NoSQL of which I was a tad confused. On W3Schools NodeJS tutorial there was also a tutorial of how to use and connect to MongoDB (a NoSQL database) and how to use and connect to MySQL (a relational database). So I’ve learned that a relational SQL (Structured Query Language) database stores data in tables. This allows for complex queries because you can filter the data based on the rows in the database. A NoSQL (Not only SQL) database stores data in a Key Value pair, like a dictionary. I realise this was the main type of database we used at my former company for our game. MongoDB is of the type that is document oriented. Which means that one key has a value that is basically a whole document of data. Like an xml or json document.
Here is a nice image showing the difference:
So going forward I think it’s important I explore the difference between relational databases and non-relational databases. In particular MySQL and MongoDB since these are referred to by the W3School tutorials anyway.
I’ve tried to find an explicit tutorial on how to create a blog using React, NodeJS and MongoDB but I didn’t have the patience to wade through the sea of ‘pay to play’ tutorials. However, here’s what I’ve found:
MongoDBs own resources to getting started. They seem to have many useful tutorials including;
- Your First MongoDB Application
- Getting Started with MongoDB, Node.js and Restify
- Using ReactJS, ES6 & JSX to Build a UI
It seems I have found the right place to start. I also found that W3Schools have a whole series of how-tos when it comes to frontend design. This will be a good place to start when I need to make the front end of the blog.
I’m very optimistic about this process now. I’ve managed to get Node.js to run on my computer and tried examples from W3schools. I’ve read insightful articles about the anatomy of a web application and the backend.
My next step will be to explore MongoDBs tutorials.