About the Course
The goal of this course is to teach learners about backend/server side web application development using Node.js, Express and MongoDB.
Duration
Approximately 80 hours of classroom teaching spread over 4 months. Capstone project, to be implemented by participants, is another 80 hours of coding effort.
For information regarding fee and course delivery, please write to us at:
0. JavaScript language
JavaScript application scope (browser, server side, mobile development)
Working with the console
JavaScript versions and implementations
Language basics: data types, variables, operators, loops etc
JSON, objects and arrays
Using JavaScript in browser: DOM Model
1. What is Node.js and Node.js module system
Server side coding with Node.js
Importing Node.js core modules
Importing npm modules
Global npm modules and nodemon
2. Asynchronous Node.js, Promises
Notion and need of asynchronicity
Callback functions
Notion of Promises
Async/await syntax
Handling exceptions
3. Working with the server, HTTP, REST Services
HTTP server and response codes
Using forms for data uploading
REST architecture
Implementing CRUD with REST
Using fetch() for sending and getting data
4. Accessing API from Browser
The query string
Browser HTTP requests
5. AXIOS Library, WebSocket
GET and POST requests in Axios
Using async/await with Axios
WebSocket protocol
Using WebSocket, comparison with HTTP
6. Application Deployment to Cloud
Intro to GitHub and Heroku
Version control with git
Pushing code to GitHub
Deploying your code to Heroku
7. API Auth and security
API authentication and security
JSON web tokens
Express middleware
Accepting authentication tokens
Logging out
8. MongoDB and Promises
MongoDB and NoSQL databases
Installation and MongoDB environment
Database GUI viewer
CRUD operations
MongoDB data model
Promises
9. Capstone Project.
Participants will work on developing a food ordering web application.
Project code should be submitted via GitHub
Submit the necessary design documents along with the code