JavaScript required
We’re sorry, but Coda doesn’t work properly without JavaScript enabled.
Gallery
Share
Explore
MADS 4012 Web Development Full Stack - Final Exam Study Checklist
✅ Node.js Fundamentals
Basic Programming Elements
For loops syntax and usage
While loops syntax and usage
Iterating over arrays with
.forEach()
Module import/export (CommonJS:
require()
and
module.exports
)
ES6 module import export system (
import
and
export
)
Asynchronous Programming
Callbacks
Promises
Async/await syntax
Error handling with try/catch
✅ NPM and Package Management
Understanding
npmjs.com
as package repository
npm init -y
to create package.json
Installing dependencies:
npm install express mongoose
Understanding package.json structure
Dependencies vs devDependencies
Scripts section
Version management
Node_modules folder purpose
✅ Express.js Framework
Server Setup
Creating server.js/app.js file
Express boilerplate code
app.listen()
to start server
Setting up middleware (
app.use()
)
Routing
GET, POST, PUT, DELETE routes
Route parameters (
req.params
)
Query strings (
req.query
)
Request body (
req.body
)
Response methods:
res.send()
,
res.json()
,
res.render()
Middleware
express.json()
for parsing JSON
express.urlencoded()
for form data
express.static()
for serving static files
✅ MongoDB with Mongoose
Mongoose Integration
Installing Mongoose:
npm install mongoose
Connecting to MongoDB:
mongoose.connect()
Connection error handling
Schemas and Models
Creating schemas with data types
Schema validation rules
Creating models from schemas
✅ CRUD Operations
Create (C)
new Model()
and
.save()
Model.create()
Read (R)
Model.find()
- all documents
Model.findById()
- single document
Model.findOne()
- first match
Query operators:
$gt
,
$lt
,
$in
, etc.
Update (U)
Model.findByIdAndUpdate()
Model.updateOne()
Model.updateMany()
Delete (D)
Model.findByIdAndDelete()
Model.deleteOne()
Model.deleteMany()
✅ MongoDB Aggregation
Aggregation Pipeline
Understanding pipeline stages
$match
- filtering documents
$group
- grouping data
$sort
- ordering results
$project
- shaping output
$lookup for JOINs
Syntax for joining collections
from
,
localField
,
foreignField
,
as
parameters
Working with populated data
Multiple Collections
Designing relationships (1-to-1, 1-to-many, many-to-many)
Reference vs embedded documents
Using
.populate()
method
✅ API Development
RESTful API Concepts
What is an API?
REST principles
HTTP methods mapping to CRUD
Status codes (200, 201, 400, 404, 500)
Creating API Endpoints
Structuring RESTful routes
Returning JSON with
res.json()
Error handling and appropriate status codes
✅ Form Handling
HTML Forms
<form>
ACTION attribute (URL destination)
<form>
METHOD attribute (GET vs POST)
Input types: text, radio, checkbox, select
Submit buttons
Server-Side Processing
Accessing form data via
req.body
Handling different input types
Form validation
Redirecting after form submission
✅ EJS Templating
Basic EJS
Installing and setting up EJS
app.set('view engine', 'ejs')
Creating .ejs files in views folder
res.render()
to send templates
EJS Syntax
<%= %>
for outputting values
<% %>
for control flow
<%- %>
for unescaped HTML
Control Structures
If/else statements in EJS
For loops to iterate over arrays
forEach loops for collections
Advanced EJS
Partials
:
<%- include('partial-name') %>
Layouts
: Using express-ejs-layouts
Passing data to partials
Creating reusable components
✅ Additional Important Topics
Environment Variables
Using .env files
Protecting sensitive data (API keys, connection strings)
process.env
usage
Error Handling
Try/catch blocks in async routes
Project Structure
MVC pattern basics
Separating routes, models, and controllers
Organizing files and folders
📝 Practice Exercises
Build a complete CRUD application with at least 2 related collections
Create RESTful API endpoints for all CRUD operations
Implement form submission with validation
Use EJS to display data with partials and layouts
Write aggregation queries with $lookup
Handle errors gracefully throughout the application
🎯 Key Concepts to Master
Understanding the request-response cycle
Difference between server-side and client-side code
How NODE is an application serving environment, like Chrome browser, to run JavaScript code.
How to structure and query related data in MongoDB
Remember to review your class examples and assignments as they likely contain practical implementations of these concepts.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
Ctrl
P
) instead.