title: Crash course on REST, GraphQL and Graphback #1: Introduction series: Crash course on REST, GraphQL and Graphback tags: [Node.js,GraphQL,REST] cover_image: https://images.unsplash.com/photo-1461749280684-dccba630e2f6?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80 published: true



Introduction


Hi, my name is Michal and I am a third-year student of BSc in Information Technology at Waterford Institute Of Technology. As a mature person with a little baby and a busy family life in general, it wasn't an easy decision to go back to college, but hey! I did it, and I think it was one of the best decisions I've ever made! I was interested in technology ever since I can remember, however, I only realized that I absolutely love software development during my second year in college. BSc in IT is very interesting and it gives a broad understanding of what IT is all about, however, it doesn't go too deep into programming/software development and while I thought I'm ready to take on any software development jobs out there...I was wrong! It was only when I found out that Red Hat is looking for interns for the summertime that I had my eyes opened to what software development is really about, but let's leave my Red Hat internship story to another post and focus on what I would like this post to be, which is a very brief, simplified, introduction to:

As this were technologies that opened my eyes to a huge amount of possibilities, we are going to build a simple RESTful Node.js server with Express, then move to GraphQL using Apollo Server Express, then show the magic of Graphback!

Prerequisites

I don't think you really need to much except for some basic Javascript knowledge, be familiar with how arrays work and how to interact with arrays, build basic object and we will cover the rest!

  • Basic understanding of client-server architecture (Client-Server Architecture)
  • JavaScript - basic knowledge
  • NodeJS - basic understanding of Node but not necessary (NodeJS tutorial)
  • Command line - basic understanding

Setting up!

First, we need to get our code editor, I highly recommend using Visual Studio Code due to its simplicity and lightweight. This is what I'll be using and it will be much easier to follow if what you will see on the screen is going to match screenshots!

Next, as we are going to use Node.js please download it from here

We are going to use npm as a package manager which consists of a command-line client, also called npm, and an online database of public and paid-for private packages called the npm registry. As our project will require dependencies to be installed we need something to manage it - npm will do it for us! Npm is also a default package manager of Node so we don't have to do anything with it just yet.

This should be it for now! Let's start with REST!