Server-side Development with NodeJS, Express and MongoDB

4.8
212 ratings
70 reviews

Course 5 of 5 in the Full Stack Web and Multiplatform Mobile App Development Specialization

This course deals with all things server-side. We base the entire course around the NodeJS platform. We start with a brief overview of the Web protocols: HTTP and HTTPS. We examine NodeJS and NodeJS modules: Express for building web servers. On the database side, we review basic CRUD operations, NoSQL databases, in particular MongoDB and Mongoose for accessing MongoDB from NodeJS. We examine the REST concepts and building a RESTful API. We touch upon authentication and security. Finally we review backend as a service (BaaS) approaches, including mobile BaaS, both open-source and commercial BaaS services. At the end of this course, you will be able to: - Demonstrate an understanding of server-side concepts, CRUD and REST - Build and configure a backend server using NodeJS framework - Build a RESTful API for the front-end to access backend services
Globe

Cours en ligne à 100 %

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Intermediate Level

Niveau intermédiaire

Clock

Approx. 31 heures pour terminer

Recommandé : 4 weeks of study, 8-10 hours/week
Comment Dots

English

Sous-titres : English

Compétences que vous acquerrez

Node.JsMongodbRoutingJavascript
Globe

Cours en ligne à 100 %

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Intermediate Level

Niveau intermédiaire

Clock

Approx. 31 heures pour terminer

Recommandé : 4 weeks of study, 8-10 hours/week
Comment Dots

English

Sous-titres : English

Syllabus - What you will learn from this course

1

Section
Clock
13 hours to complete

Introduction to Server-side Development

In this module you will be introduced to Node, Node modules and the Node HTTP server. You will learn about the Express framework and how to set up a REST API using Express....
Reading
21 videos (Total 290 min), 27 readings, 2 quizzes
Video21 videos
How to Use the Learning Resources9m
What is Full-Stack Web Development?6m
Exercise (Video): Setting up Git6m
Exercise (Video): Basic Git Commands18m
Exercise (Video): Online Git Repositories12m
Node.js and NPM3m
Exercise (Video): Setting up Node.js and NPM2m
Node Modules10m
Exercise (Video): Understanding Node Modules17m
Node Modules: Callbacks and Error Handling9m
Exercise (Video):Node Modules: Callbacks and Error Handling21m
Networking Essentials16m
Node and the HTTP Module6m
Exercise (Video): Node and the HTTP Module32m
Introduction to Express13m
Exercise (Video): Introduction to Express21m
Brief Representational State Transfer (REST)16m
Express Router8m
Exercise (Video): Express Router40m
Assignment 1 Requirements (Video): Node Modules, Express and REST API5m
Reading27 readings
Welcome to Server-Side Development with NodeJS, Express and MongoDB: Additional Resources10m
Full Stack Web Development: The Big Picture: Objectives and Outcomes10m
Full Stack Web Development: Additional Resources10m
Setting up Your Development Environment: Git: Objectives and Outcomes10m
Setting up your Development Environment10m
Exercise (Instructions): Setting up Git10m
Exercise (Instructions): Basic Git Commands10m
Exercise (Instructions): Online Git Repositories10m
Setting up your Development Environment: Git: Additional Resources10m
Introduction to Node.js and NPM: Objectives and Outcomes10m
Exercise (Instructions): Setting up Node.js and NPM10m
Introduction to Node.js and NPM: Additional Resources10m
Node Modules: Objectives and Outcomes10m
Exercise (Instructions): Understanding Node Modules10m
Exercise (Instructions):Node Modules: Callbacks and Error Handling10m
Node Modules: Additional Resources10m
Node and HTTP: Objectives and Outcomes10m
Exercise (Instructions): Node and the HTTP Module10m
Node and HTTP: Additional Resources10m
Introduction to Express: Objectives and Outcomes10m
Exercise (Instructions): Introduction to Express10m
Exercise (Instructions): Express Router10m
Introduction to Express: Additional Resources10m
Assignment 1: Node Modules, Express and REST API: Additional Resources10m
Ideation: Objectives and Outcomes10m
Ideation Report Template10m
Ideation: Additional Resources10m

2

Section
Clock
12 hours to complete

Data, Data, Where art Thou Data?

This module looks in detail at data storage with MongoDB, the popular NoSQL database. You will learn first about Express generator for scaffolding an Express application. Then you will learn about MongoDB. You will learn how to interact with MongoDB from a Node application. Then you will learn the Mongoose ODM to create schemas and models, and interact with MongoDB server....
Reading
16 videos (Total 242 min), 23 readings, 2 quizzes
Video16 videos
Exercise (Video): Express Generator15m
Introduction to MongoDB10m
Exercise (Video): Introduction to MongoDB12m
Node and MongoDB2m
Exercise (Video): Node and MongoDB Part 117m
Exercise (Video): Node and MongoDB Part 223m
Callback Hell and Promises6m
Exercise (Video): Callback Hell and Promises10m
Mongoose ODM21m
Exercise (Video): Mongoose ODM Part 118m
Exercise (Video): Mongoose ODM Part 214m
REST API with Express, MongoDB and Mongoose7m
Exercise (Video): REST API with Express, MongoDB and Mongoose Part 138m
Exercise (Video): REST API with Express, MongoDB and Mongoose Part 233m
Assignment 2 Requirements (Video): MongoDB: Requirements3m
Reading23 readings
Express Generator: Objectives and Outcomes10m
Exercise (Instructions): Express Generator10m
Express Generator: Additional Resources10m
Introduction to MongoDB: Objectives and Outcomes10m
Exercise (Instructions): Introduction to MongoDB10m
Introduction to MongoDB: Additional Resources10m
Node and MongoDB: Objectives and Outcomes10m
Exercise (Instructions): Node and MongoDB Part 110m
Exercise (Instructions): Node and MongoDB Part 210m
Exercise (Instructions): Callback Hell and Promises10m
Node and MongoDB: Additional Resources10m
Mongoose ODM: Objectives and Outcomes10m
Exercise (Instructions): Mongoose ODM Part 110m
Exercise (Instructions): Mongoose ODM Part 210m
Mongoose ODM: Additional Resources10m
REST API with Express, MongoDB and Mongoose: Objectives and Outcomes10m
Exercise (Instructions): REST API with Express, MongoDB and Mongoose Part 110m
Exercise (Instructions): REST API with Express, MongoDB and Mongoose Part 210m
REST API with Express, MongoDB and Mongoose: Additional Resources10m
Assignment 2: MongoDB: Additional Resources10m
Architecture Design and Software Structure: Objectives and Outcomes10m
Architecture Design and Software Structure Report10m
Architecture Design and Software Structure: Additional Resources10m

3

Section
Clock
9 hours to complete

Halt! Who goes there?

This module is dedicated to user authentication. We first develop a full-fledged REST API server with Express, Mongo and Mongoose. Thereafter we examine basic authentication and session-based authentication briefly. We then develop token-based authentication with the support of JSON web tokens and the Passport module....
Reading
13 videos (Total 281 min), 16 readings, 1 quiz
Video13 videos
Exercise (Video): Basic Authentication22m
Cookies, Tea and err ... Express Sessions17m
Exercise (Video): Using Cookies15m
Exercise (Video): Express Sessions Part 111m
Exercise (Video): Express Sessions Part 238m
Passport9m
Exercise (Video): User Authentication with Passport25m
Token Based Authentication14m
Exercise (Video): User Authentication with Passport and JSON Web Token47m
Mongoose Population12m
Exercise (Video): Mongoose Population27m
Assignment 3 Requirements (Video): User Authentication23m
Reading16 readings
Basic Authentication: Objectives and Outcomes10m
Exercise (Instructions): Basic Authentication10m
Basic Authentication: Additional Resources10m
Cookies, Tea and err ... Express Sessions: Objectives and Outcomes10m
Exercise (Instructions): Using Cookies10m
Exercise (Instructions): Express Sessions Part 110m
Exercise (Instructions): Express Sessions Part 210m
Cookies, Tea and err . . . Express Sessions: Additional Resources10m
User Authentication with Passport: Objectives and Outcomes10m
Exercise (Instructions): User Authentication with Passport10m
Exercise (Instructions): User Authentication with Passport and JSON Web Token10m
User Authentication with Passport: Additional Resources10m
Mongoose Population: Objectives and Outcomes10m
Exercise (Instructions): Mongoose Population10m
Mongoose Population: Additional Resources10m
Assignment 3: Additional Resources10m

4

Section
Clock
17 hours to complete

Backend as a Service (BaaS)

In this module we learn about Mongoose population, a way of cross-referencing documents and populating the documents from other documents. We then review secure communication using HTTPS. We look at Backend as a Service (BaaS) and take a brief look at Loopback....
Reading
19 videos (Total 520 min), 28 readings, 2 quizzes
Video19 videos
Exercise (Video): HTTPS and Secure Communication24m
Uploading Files11m
Exercise (Video): Uploading Files28m
Cross-Origin Resource Sharing17m
Exercise (Video): Cross-Origin Resource Sharing23m
OAuth and User Authentication25m
Exercise (Video): Using OAuth with Passport and Facebook36m
Assignment 4 Requirements (Video): Backend as a Service25m
ConFusion: Integrating the Client and Server13m
Exercise (Video): Integrating the Client and Server: Updating the REST Server36m
Exercise (Video): Integrating the Client and Server: The Angular Client34m
Backend as a Service18m
Exercise (Video): Firebase22m
Exercise (Video): Angular Application using Firebase as BaaS48m
Exercise (Video): Getting Started with Loopback14m
Exercise (Video): Loopback Data Sources and Access Control44m
Exercise (Video): Loopback Relations35m
Exercise (Video): Angular Application using Loopback as BaaS33m
Reading28 readings
HTTPS and Secure Communication: Objectives and Outcomes10m
Exercise (Instructions): HTTPS and Secure Communication10m
HTTPS and Secure Communication: Additional Resources10m
Uploading Files: Objectives and Outcomes10m
Exercise (Instructions): Uploading Files10m
Uploading Files: Additional Resources10m
Cross-Origin Resource Sharing: Objectives and Outcomes10m
Exercise (Instructions): Cross-Origin Resource Sharing10m
Cross-Origin Resource Sharing: Additional Resources10m
OAuth and User Authentication: Objectives and Outcomes10m
Exercise (Instructions): Using OAuth with Passport and Facebook10m
OAuth and User Authentication: Additional Resources10m
Assignment 4: Additional Resources10m
ConFusion: Integrating the Client and Server: Objectives and Outcomes10m
Exercise (Instructions): Integrating the Client and Server: Updating the REST Server10m
Exercise (Instructions): Integrating the Client and Server: The Angular Client10m
ConFusion: Integrating the Client and Server: Additional Resources10m
Backend as a Service: Objectives and Outcomes10m
Exercise (Instructions): Angular Application using Firebase as BaaS10m
Backend as a Service (BaaS): Firebase: Additional Resources10m
Backend as a Service: Loopback: Objectives and Outcomes10m
Exercise (Instructions): Getting Started with Loopback10m
Exercise (Instructions): Loopback Data Sources and Access Control10m
Exercise (Instructions): Loopback Relations10m
Exercise (Instructions): Angular Application using Loopback as BaaS10m
Backend as a Service: Loopback: Additional Resources10m
Project Implementation: Objectives and Outcomes10m
Final Report Template10m
4.8
Money

33%

got a pay increase or promotion

Top Reviews

By MSMar 31st 2018

Good job I really liked the course. I'm going now to the angular one, hope has same quality ! Probably it will be a good idea to put a video for async/await in node js.

By KCApr 21st 2018

This course covers a lot of important topics from Back-End development, it worths to complete this course if you are a web developer focusing on the Back-End side.

Instructor

Avatar

Jogesh K. Muppala

Associate Professor

About The Hong Kong University of Science and Technology

HKUST - A dynamic, international research university, in relentless pursuit of excellence, leading the advance of science and technology, and educating the new generation of front-runners for Asia and the world....

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • If you pay for this course, you will have access to all of the features and content you need to earn a Course Certificate. If you complete the course successfully, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. Note that the Course Certificate does not represent official academic credit from the partner institution offering the course.

  • Yes! Coursera provides financial aid to learners who would like to complete a course but cannot afford the course fee. To apply for aid, select "Learn more and apply" in the Financial Aid section below the "Enroll" button. You'll be prompted to complete a simple application; no other paperwork is required.

More questions? Visit the Learner Help Center