What you will learn
This tutorial will teach you how to use Node as an API. To do this, we'll set up Express for server logic and will be using MongoDB for the database (which is a popular choice in the Node community, as MongoDB stores data in the JSON format).
We will be building a backend that will provide the functionality for our Medium clone called Conduit. Check out the live demo of Conduit to get an idea of the functionality of what we're about to build.
Note that this course only goes over how to build the backend in Node.js. Once the backend is completed, you can complete any one of our frontend courses to create a client for the backend you've built.
We've provided a specification for our API that we will be building. We recommended that you go over all the endpoints in the specification and play around with the demo to get a good idea of the application.
To clone the seed branch of this repo, run the following command:
git clone -b 00-seed firstname.lastname@example.org:gothinkster/node-express-realworld-example-app.git
If that doesn't work try
git clone -b 00-seed https://github.com/gothinkster/node-express-realworld-example-app.git
npm installto install all the required modules for this project
The seed repository has all the modules required for this project denoted in its
package.json. You can use npm (which should've automatically been installed with Node) to install all of the necessary modules locally.
Recommendations for Completing this Tutorial
Throughout the course of this tutorial, links to additional concepts and information will be included. You can use these links as supplementary material which can help you gain insight into the stack and its various components. As always, if you have any questions Google and Stack Overflow are your best bet. If you're unsure about something specific to this tutorial, we're always around to help in the Thinkster Pro Slack channel.
We at Thinkster are firm believers in actually writing code. Therefore we strongly encourage you to type out all the code instead of copy+pasting it.
With that out of the way, let's start building out our API!