
Install node, build web apps with express and mustache templates for pages, using routing and middleware; deploy with PG Promise Library and MongoDB, including user registration and shopping lists.
Identify the prerequisites for this non introductory course, requiring at least two years of web development experience and a basic understanding of JavaScript, including async usage and let/const.
Access downloadable exercise files for this lecture, unzip the archive, and explore the start and end folders that contain the initial materials and the end product with implemented code.
Node is the JavaScript runtime that lets you run JavaScript on the server, enabling full‑stack development across client, server, and databases, and you’ll learn how to install Node and npm.
Learn what npm is, a node package manager that lets you search for and install libraries with npm install, automatically creating node_modules to streamline dependencies in node applications.
install node on mac using direct download or homebrew, follow the setup wizard, verify with node -v, and prepare to build your first node app in the next lecture.
Create a new node project with npm init and set up a basic server on port 3000. Run it with node and visit localhost:3000 to see Hello world.
Discover how express sits on top of node to run JavaScript on the server, enabling quick setup of web servers that respond with JSON, HTML, or other content.
Initialize a node project, install express with npm install express, create a main file, and run a basic express app on port 3000.
Install nodemon globally with npm install -g nodemon, then run nodemon to automatically restart your express server as you save changes. This eliminates manual restarts and speeds up development.
Create a simple express get route that returns hello world, run the server on port 3000, and explore routing with parameters and nested routes using get and post.
Explore node express routes as endpoints, using examples like /, /customers, and /customers/24; learn how GET and POST on the same route map to different functions, with the domain ignored.
Set up a node express server and build basic routes like the root and a movies route. Use dynamic route parameters to handle genre and year with a single route.
Learn to implement dynamic parameters in express routes, access genre and year with request.params, and build flexible routes like /movies/genre/year while contrasting static vs dynamic segments.
Learn how to pass data in the URL using query string parameters in Express, access with request.query, and use keys like page or sort to enable searching, filtering, and sorting.
Create an anonymous movie object with title and year, convert to json, and send back an express response; also return an array of movie objects as json.
Learn how a post request lets the client submit form or json data to the server to create new content or a new record in a database.
Implement a post route in Express to receive movie title and year via json body, test with Postman, and use body-parser to read request bodies.
Explore how server side pages are rendered on the server and sent pre-filled to the client, so the browser displays a ready-made page and explore frameworks across languages.
Explore server side pages frameworks and technologies, including S.P. Darknet technology, Ruby Unreal framework, Django, Swift on the server, and PSP, plus template engines in Node Express.
Explore popular template engines for Node Express, including Mustache and Handlebars, and learn how a single template concept carries across engines, enabling rapid setup of the first Mustache page.
Set up a node project with express and mustache express, install packages, configure mustache templates, create a mustache views folder, and render a hello world page.
Pass data from an Express server to mustache templates by rendering with an object of properties (name, address) and displaying values with double curly braces, including nesting.
Demonstrates passing a list of user objects from an Express server to Mustache pages, iterating with a Mustache loop to display each user's name and age in a list.
Learn to implement conditions in mustache pages by displaying a message when no users exist and preparing to add a new user via a form in the next lecture.
Create a mustache add-user page with name and age fields and a submit button to post data. See how the server receives form values and why body-parser is needed next.
Learn to install and use the body parts package with express to parse urlencoded and json bodies, using extended false for flat structures like name and age.
Learn how partials improve maintainability by extracting the common menu into a mustache partial, so all pages reflect changes automatically and you register the partials in a Node Express app.
Practice creating and using partials with Mustache to reuse the menu, the header, and the footer across pages, avoid code duplication, and enable single-point updates.
Understand static files, which remain unchanged during execution in a Node Express app, and learn to set up JavaScript, images, CSS, music, and movie files.
Create a static resources folder, add files, and link them in your views; register the folder with express to serve static resources and test access via root or alias routes.
Implement an Express router to handle user routes by creating and exporting a router, mounting it at /users, and defining get and post handlers for user actions.
Explore what middleware is in Node.js, how it sits between request and response, and how to create middleware to perform authentication, logging, or header changes before Express handles the response.
Learn how to create custom middleware in express to log every route, apply it across all routes with app.use, and ensure next() advances the request.
I have been training developers in one form or the other since 2005. At present I am the lead instructor at DigitalCrafts bootcamp where I teach full stack web development. This course is a result of 1000s of hours of training over the course of several years in which I trained more than 100 developers. Now those developers are working for companies like Apple, LinkedIn, Chase etc.
Requirements
Basic understanding of how the web works is recommended but not a must-have
Understanding of JavaScript programming language is recommended
No NodeJS knowledge is required
Description
According to the latest StackOverFlow survey NodeJS is the most popular framework in software development. NodeJS is in high demand and JavaScript developers who have NodeJS in their tool-belt earns high salary. This course is designed to teach you all the important parts of the NodeJS framework by building real world, data driven applications. After completing this course you will be ready to build full stack web applications using NodeJS and JavaScript.
Here is the outline of this course:
Understanding NodeJS and Node Package Manager
Installing and Running ExpressJS
Understanding Routing
Passing QueryString, Parameters and JSON
Posting Data in Express
Understanding Server Side Pages
Building Template Server Side Pages Using Mustache
Creating Reusable Components Using Express Partials
Consuming Static Resources
Developing Express Router
Understanding and Implementing Middleware
Integrating Session for ExpressJS Apps
Debugging Node
Setting Up PostgreSQL Database
Learning Basic SQL Commands
Performing CRUD Operations Using pg-promise for PostgreSQL database
Encrypting and Persisting Secure Data Using brcrypt
Toggling Menu Options based on the User Login Status
Deployment to Heroku
Understanding Object Relational Mapping
Installing and Configuring Sequelize
Performing CRUD Operations Using Sequelize
Implementing One to Many Relationships in Sequelize
Hosting PostgreSQL Database on ElephantSQL
Understanding Document Databases
Implementing JSON Web API Using ExpressJS
Installing and Running MongoDB Database Server
Performing CRUD Operations Using MongoDB
Projects
As a lead instructor at one of the top bootcamps I know that the best way to learn a new technology is utilizing your skills in a real world project. For this reason this course targets multiple projects to enhance your learning experience.
News App
In this app you will learn how to use create server side pages using Mustache template engine. You will build a login and registration screen and eve customize the user’s page based on their credentials. This app integrates with PostgreSQL database using pg-promise library. Finally, you will learn how to deploy your app to Heroku server.
Sell Your Stuff
In this app you will learn how to create an ExpressJS website which allows the user’s to list their products for sale. You will learn how to integrate Sequelize ORM with your Node application. The project also covers how to upload images from your machine to your own server. Just like the previous app you will also implementing login and registration of the user.
Grocery App
In this app you will learn how to create both the client and the server. The client will be implemented using the vanilla HTML and JavaScript and the server will be implementing using ExpressJS and MongoDB (Document Database). You will learn how to persist documents as well as nested documents in the MongoDB database.
Is this course for you?
If you have no NodeJS experience then you are going to enjoy this course. NodeJS is a very high in demand framework and after going through this course you can use your new skills to become a full stack web developer.
If you have novice NodeJS experience then about accessing PostgreSQL and MongoDB databases with pg-promise, Sequelize and mongoose.
Prerequisites
No knowledge of NodeJS is required
Understanding of HTML and CSS is required
Existing knowledge of JavaScript is recommended