Backend Development
Course ID : CSIS 107
42 hours
COURSE OUTLINE
Week 1
Assignment #1
• Introducing the Node.js-to-Angular Stack
– Understanding the Basic Web Development Framework
– Understanding the Node.js-to-Angular Stack Components
• JavaScript Primer
– Defining Variables
– Understanding JavaScript Data Types
– Using Operators
– Implementing Looping
– Creating Functions
– Understanding Variable Scope
– Using JavaScript Objects
– Manipulating Strings
– Working with Arrays
– Adding Error Handling
Week 2
Assignment #2
• Getting Started with Node.js
– Understanding Node.js
– Installing Node.js
– Working with Node Packages
– Creating a Node.js Application
– Writing Data to the Console
– Understanding the Node.js
• Using Events, Listeners, Timers, and Callbacks in Node.js
– Event Model
– Adding Work to the Event Queue
– Implementing Callbacks
Week 3
Quiz
• Handling Data I/O in Node.js
– Working with JSON
– Using the Buffer Module to Buffer Data
– Using the Stream Module to Stream Data
– Compressing and Decompressing Data with Zlib
• Accessing the File System from Node.js
– Synchronous Versus Asynchronous File System Calls
– Opening and Closing Files
– Writing Files
– Reading Files
– Other File System Tasks
Week 4
• Implementing HTTP Services in Node.js
– Processing URLs
– Processing Query Strings and Form Parameters
– Understanding Request, Response, and Server Objects
– Implementing HTTP Clients and Servers in Node.js
– Implementing HTTPS Servers and Clients
– Understanding Network Sockets
• Implementing Socket Services in Node.js
– Understanding TPC Server and Socket Objects
– Implementing TCP Socket Servers and Clients
– Implementing TLS Servers and Clients
Week 5
• Scaling Applications Using Multiple Processors in Node.js
– Understanding the Process Module
– Implementing Child Processes
– Implementing Process Clusters
• Using Additional Node.js Modules
– Using the os Module
– Using the util Module
– Using the dns Module
– Using the crypto Module
– Other Node Modules and Objects
Week 6
Midterm
Assignment #3
• Understanding NoSQL and MongoDB
– Why NoSQL?
– Understanding MongoDB
– MongoDB Data Types
– Planning Your Data Model
• Getting Started with MongoDB
– Building the MongoDB Environment
– Administering User Accounts
– Configuring Access Control
– Administering Databases
– Managing Collections
Week 7
Assignment #4
• Getting Started with MongoDB and Node.js
– Adding the MongoDB Driver to Node.js
– Connecting to MongoDB from Node.js
– Understanding the Objects Used in the MongoDB Node.js Driver
– Accessing and Manipulating Databases
– Accessing and Manipulating Collections
• Manipulating MongoDB Documents from Node.js
– Understanding Database Change Options
– Understanding Database Update Operators
– Adding Documents to a Collection
– Getting Documents from a Collection
– Updating Documents in a Collection
– Atomically Modifying Documents in a Collection
– Saving Documents in a Collection
– Upserting Documents in Collection
– Deleting Documents from a Collection
– Removing a Single Document from a Collection
Week 8
Accessing MongoDB from Node.js:
– Introducing the Data Set
– Understanding Query Objects
– Understanding Query Options Objects
– Finding Specific Sets of Documents
– Counting Documents
– Limiting Result Sets
– Sorting Result Sets
– Finding Distinct Field Values
– Grouping Results
– Applying MapReduce by Aggregating Results
Using Mongoose for Structured Schema and Validation:
– Understanding Mongoose
– Connecting to a MongoDB Database Using Mongoose
– Defining a Schema
– Compiling a Model
– Understanding the Query Object
– Understanding the Document Object
– Finding Documents Using Mongoose
– Adding Documents Using Mongoose
– Updating Documents Using Mongoose
– Removing Documents Using Mongoose
– Aggregating Documents Using Mongoose
– Using the Validation Framework
– Implementing Middleware Functions
Week 9
Quiz #2
Assignment #5
Advanced MongoDB Concepts:
– Adding Indexes
– Using Capped Collections
– Applying Replication
– Implementing Sharding
– Repairing a MongoDB Database
– Backing Up MongoDB
Implementing Express in Node.js:
– Getting Started with Express
– Configuring Routes
– Using Requests Objects
– Using Response Objects
– Implementing a Template Engine
Week 10
Jumping into TypeScript:
– Learning the Different Types
– Understanding Interfaces
– Implementing Classes
– Implementing Modules
– Understanding Functions
Getting Started with Angular:
– Why Angular?
– Understanding Angular
– Separation of Responsibilities
– Adding Angular to Your Environment
– Using the Angular CLI
– Creating a Basic Angular Application
Week 1
Angular Components:
– Component Configuration
– Building a Template
– Using Constructors
– Using External Templates
– Injecting Directives
Expressions:
– Using Expressions
– Using Pipes
– Building a Custom Pipe
Week 12
Final