Beginner API development in Node, Express, ES6, & MongoDB
4.4 (683 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7,192 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Beginner API development in Node, Express, ES6, & MongoDB to your Wishlist.

Add to Wishlist

Beginner API development in Node, Express, ES6, & MongoDB

REST API backend development. Build Node API and restful express API
Bestselling
4.4 (683 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
7,192 students enrolled
Created by Mark Price
Last updated 3/2017
English
Price: $165
30-Day Money-Back Guarantee
Includes:
  • 18.5 hours on-demand video
  • 4 Articles
  • 9 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Build APIs that iOS apps & Android apps can talk to
  • Deploy APIs in Node to live servers
  • Deploy live MongoDB instances on servers that the APIs can talk to
  • Write code in ES6 for API development or for general programming
View Curriculum
Requirements
  • No coding experience required, though basics programming skills will help build restful APIs
  • Must have a Mac or a PC to create REST API in Node
Description

Beginner API development in Node, Express, ES6, & MongoDB

Are you a mobile app developer that needs a backend API & database?

Do you have an mobile product idea?

Do you want to create your own startup? 

Or do you want to become a backend developer?

This is THE course for you.

We have taught over 50,000 students how to code and so many of them have the same question, "How can I build a server for my mobile apps?"

What you will learn:

  • Node
  • Express
  • MongoDB
  • ES6 & Javascript
  • API development
  • CRUD & REST
  • How to get an iOS app to talk to your API
  • How to get an Android app to talk to your API
  • Tooling & automation
  • Professional coding tips & practices
  • And so much more....

This course is for ANYONE - but we specifically designed it to take mobile developers to the next level by helping them build their own APIs for their apps!

Who is the target audience?
  • Anyone who wants to learn Node, Express, MongoDB, Javascript/ES6 or wants to build APIs
  • Mobile app developers who want to build a back-end server
  • Anyone who wants to learn REST API development
  • Web app developers who need a back-end API for their app using Node
  • Anyone who wants to create a SAAS product or mobile startup that needs an API
Students Who Viewed This Course Also Viewed
Curriculum For This Course
65 Lectures
18:27:17
+
API Course Intro
3 Lectures 04:42

An overview of this node course and what you will be learning. We'll talk about node, express, MongoDB, and our general path for API development.

Preview 01:55

Learn why you would create a RESTful API and also why you would use Node js to develop the API for your iOS apps, Android apps, or web apps.

What is a REST API
02:32

In this short video, we tell you how to get free live help on node and ES6 and API in our Discord chatroom.

How to get free live help in our chatroom
00:15
+
Setup for Node, MongoDB, Postman, and other API tools
6 Lectures 47:15

A quick overview of the tools we'll need to get up and running with REST API development with node

Preview 01:03

Learn how to install an IDE - Atom so we can start writing ES6 code for our API in Node

Installing Atom - Code editor for API development
09:55

You will install node js and the node version manager (NVM) to start working on your API

Installing Nodejs & node version manager
09:24

What is the point of having a node API if it doesn't have a database to talk to. In this lesson we'll learn how to install MongoDB

Installing MongoDB - noSQL database
09:31

Postman is a client app that allows us to test our node api. You can use postman to make restful API post, update, delete, and get requests.

Installing Postman - Client to test node API
09:52

Node package manager is a dependency manager that makes it super easy to install node packages for your API

Installing Node js packages with NPM
07:30

Quiz
5 questions
+
Hello API
1 Lecture 44:32

In this lesson, we skip ahead and go ahead and create a simple node api just so you can see what the process looks like. At this point, we don't expect you to understand everything, the point is just to give you a glimpse of where we are going using node, express, and es6

Preview 44:32

Quiz
5 questions
+
JavaScript Basics
14 Lectures 03:04:07

In this lesson, we define ECMA, ECMAScript, ES6, ES2015 and what this all has to do with JavaScript and Node.js for API 

ECMAScript Standards and ES6
02:46

ES6 Variables
21:21

ES6 Strings
07:07

ES6 Operators
10:03

ES6 Conditionals and Loops
16:47

ES6 Functions
20:23

ES6 JavaScript Objects
20:22

ES6 Arrays
18:33

ES6 Array Helpers
33:57

ES6 'this' and 'bind'
08:16

ES6 'Call'
05:27

ES6 'import' and 'require'
16:45

Exercise
00:46

Quiz
5 questions
+
Creating our REST API
9 Lectures 02:05:55

In this introduction, we talk about what we are going to build with node in this section and where we will end up.

Preview 01:10

In this lesson, we set up the project skeleton so we can build our REST API. We install some of the dependencies we will need with node & npm and set up tools such as Babel so that we can use ES6 features such as `import` with Node.js

Setting up our Node Project Skeleton
22:43

In this lesson, we start building our app, configure and connect to our Mongo Database. We start off with a very simple restaurant API in node that only has a name of each restaurant. We will refactor and add features after we get the basics down.

Setting up MongoDB for Node API
16:28

In this lesson, we set up our first API node endpoint. Since we have no data in our database initially, we make this a POST request so that we can add a restaurant.

Adding Data (POST requests in Node)
20:24

In this lesson, we now have some data in our database, so we create another node endpoint so that we can retrieve data. In this case, we retrieve all restaurants listed in the database as well as a single restaurant by its ID.

Retrieving Data (GET requests in Node)
10:47

In this lesson, we set up another nodeendpoint so that we can modify an existing record (restaurant) in the database.

Updating Data (PUT requests in Node)
06:43

In this lesson, we set up one final node endpoint so that we can delete a particular restaurant by its ID.

Deleting Data (DELETE requests in Node)
05:42

In this very in depth lesson, we start with the basics we have created and then refactor to make this a more robust node API. We first refactor from a restaurant api and turn it into a foodtruck api. We add properties into our data model, as well as add a second data model and show you how to store references in each, so that we avoid nested data in our database as much as possible.

Adding features to our Node API and refactoring
41:17

Exercise
00:41

Quiz
5 questions
+
Authentication and Security
3 Lectures 44:09

In this lesson, we go through the process of adding another data model so that we can incorporate Authentication/Authorization into our API in node.

Setting up our User Model for Authentication in Node
14:38

In this lesson, we setup authentication middleware using passport so that we can authenticate users. We also set up json web tokens, so that we can pass a token back to the user to be used for secured endpoints. Finally we walk through the process of securing some of our node endpoints while leaving others open for unauthenticated use.

Authentication Middleware and Securing Resources in Node
28:53

Exercise
00:38

Quiz
5 questions
+
Deploying Our Node API To A Live Server
4 Lectures 01:12:06

An overview about how we will deploy our node server so we can have a public API

Preview 02:01

In this lesson, we spin up a Digital Ocean Droplet (Ubuntu 16.04) and get the basic server set up and running. Having our own server will allow us to have a Node server that is running continually.

Node deployment: Spinning up a Digital Ocean droplet for our Node API
18:21

In this lesson, we add a domain name to our droplet, upload our Node API to the server and get everything up and running.

Node deployment: Digital Ocean droplet part 2
22:35

In this lesson, we set up Nginx to act as a proxy for our Node API. We continue by getting a free ssl certificate and setting it up so that we can use secure https with our API.

Node deployment: Digital Ocean droplet part 3
29:09
+
Creating an iOS app to make use of our Node REST API
12 Lectures 04:45:45

In this introduction, we discuss the iOS client application we will be building throughout this section.

Building an iOS client Intro
01:47

In this lesson, we make a few small adjustments to our API to structure things in a better way for our clients.

API Adjustments
15:05

In this lesson, we begin our application by creating our data models for the api data we will be interacting with.

Data Models
25:43

In this lesson, we construct a data service to interact with our api. This will allow us to keep our data and presentation logic separate.

DataService
50:24

In this lesson, we construct an auth service to handle user registrations and logins.

AuthService
32:03

In this lesson, we begin building out our user interface by creating our Main ViewController and hooking it up to our Data Service.

Main ViewController
23:05

In this lesson, we create a LogIn ViewController in the form of a xib file and learn how to load it up to handle registration and login.

LogIn ViewController
27:32

In this lesson, we create another ViewController to add the ability to add new Food Trucks to our database through our api.

AddFoodTruck ViewController
26:32

In this lesson, we create a Details ViewController to show the details of a single Food Truck that was selected from our main table view. We also add a map in this controller so that we can show the exact location of the Food Truck.

Details ViewController
24:42

In this lesson, we add a ViewController to show reviews for a specific Food Truck

Reviews ViewController
32:57

In this lesson, we wrap up this section by adding the ability to add new reviews for a Food Truck.

AddReview ViewController
24:51

Exercise - Extending our iOS API Client
01:04
+
Creating an Android app to make use of our Node REST API
13 Lectures 04:58:46
API Adjustments
09:03

In this section we will be building an Android client app with the API you have built.

Intro to Section
02:51

Create the FoodTruck data model and make your first API call.

Set up the Data Model
28:50

Use a recycler view to display your FoodTrucks.

Create the Recycler View
34:20

Create a new activity to display the FoodTruck details.

Create FoodTruck detail view
22:14

Continue creating the detail view.

FoodTruck detail view Part 2
32:46

Create and execute the API call to retrieve reviews.

Retrieve FoodTruck reviews
22:57

Use a recycler view to display your reviews.

Create the reviews Recycler View
20:15

Use Login Screen template to build a Login Screen.

Create the Login Screen
08:35

Create and execute the Register API call

User registration
21:29

Create and execute the Login API call.

User login
23:26

Create and execute the API call to add a new review.

Add FoodTruck review
34:56

Create and execute the API call to add a new FoodTruck.

Add new FoodTruck
37:04
About the Instructor
Mark Price
4.5 Average rating
24,418 Reviews
122,192 Students
15 Courses
Unity 3D Android iOS 10 Swift 3 & React Teacher

I am a veteran mobile developer having built over 57 mobile apps for iOS and Android, and I've also build multiple Unity 3D games, including Call of Duty Ghosts mobile. 

I also spend most of my days now as a professional engineering instructor - changing the lives of students throughout the world - helping them make amazing salaries as engineers.

My passion is helping people reveal hidden talents and guide them into the world of startups and programming. I currently am teaching iOS 10, Apple TV & tvOS, React & Flux web development, Objective-C, Swift 3, Android, Javascript, Node, and Java. I also teach Unity 3D game development.