/intro-to-rest-and-http

Intro to server-side concepts and REST using Node.js.

Primary LanguageJavaScriptMIT LicenseMIT

Server-Side Concepts and REST

This repository is meant for individuals who have a basic understanding of a programming language (e.g. Python, JavaScript, Java) and have had some exposure to the concepts of REST and/or HTTP but don't feel confident explaining them.

It serves two purposes.

First, it serves the purpose of introducing Server-Side Concepts and REST. Below you will find a link to a series of Medium articles where I discuss concepts that are important to developing an understanding of REST.

Demystifying REST — Part 1: What Is It?

Demystifying REST — Part 2: How Does It Work?

Demystifying REST — Part 3: A Demo

Second, it serves as a way of using a programming language to practice these concepts. Included in this repository is a directory titled node-rest-server that specifies a challenge and resources available to you to help you complete the challenge. You are to implement a REST server using Node.js. You will incrementally build the REST server using the provided tests to guide you.

I want to stress that although we are using Node.js to illustrate the concepts explored in the article, these concepts are not tied to any one specific programming language. Further iterations of this project will allow knowledge-seekers to implement a REST server in other languages e.g. Python, Java, Go, etc.

Workflow:

  • Fork and clone this repo.
  • Add a remote so you can pull down any updates to the repo.
    • HTTPS: git remote add upstream https://github.com/hyperbolic-time-chamber/intro-to-rest-and-http.git
    • SSH: git remote add upstream git@github.com:hyperbolic-time-chamber/intro-to-rest-and-http.git
  • Read through the content on Medium once (it's okay if it doesn't all make sense).
  • Work on the challenge located in the node-rest-server directory.
  • Read through the article a second time and look to clarify any misunderstandings.