
gain practical backend web development skills by building three projects with Node, Express, SQL, and PostgreSQL, and confidently add these tools to your resume.
Install Node.js from nodejs.org, selecting the latest version (Node 8.8.1) for your Mac, Windows, or Linux, then verify with node -v and npm -v, the node package manager.
Install and configure a code editor, with Visual Studio Code recommended, set up the code command in your path, and use the terminal to open project folders quickly.
Define Node.js as an asynchronous, event-driven JavaScript runtime designed to build scalable network applications using a client-server architecture. Explain how it handles events and non-blocking operations to improve performance.
Install and verify node and npm, initialize your first node project with npm init to create a package.json, then use mkdir, cd, and ls to organize folders, and explore modules.
Build a basic Node http server by creating index.js, using the http module, and handling requests with req and res to serve a welcome message at localhost:3000.
Explore how the hypertext transfer protocol powers web data access, detailing common http request methods such as get, post, put, delete, and the role of APIs in organizing these requests.
Explore ES6 features in node by comparing arrow functions and template literals with older syntax, and examine why node relies on require over import for module loading.
Extend the node server with a /translations endpoint that returns a JSON object of numbers spelled out, using nodemon for development and proper response headers.
Explore how Node.js achieves concurrent execution through non-blocking I/O, callbacks, and the event loop, illustrated by the masters and butlers metaphor and a queue of tasks.
Express is a fast, unopinionated minimalist web framework for Node.js that enables rapid api creation with routing and support for multiple data formats.
Set up a Node and Express server for a fortunes API that returns fortunes, including a future prediction and a lucky number.
Develop a node and express backend fortunes API, using a data folder and fortunes.json to serve JSON objects via an endpoint.
Create a Node Express server in index.js, expose a /fortunes GET endpoint, log requests, and respond with fortunes.json data via res.json, listening on port 3000 with Nodemon for live updates.
Create a bin/w-w-w executable to start your node express app, export the app from app.js, and update npm start to run the executable.
Learn to add two Express endpoints for fortunes: a random fortune at /fortunes/random and a by-id endpoint at /fortunes/:id, using req.params, array find, and res.json.
Learn to implement a post method on the fortunes API by parsing json with body-parser in express, sending data via curl, and updating fortunes.json immutably.
Clean the fortunes post method by removing clutter and inlining fortune creation, then use Postman to test the fortunes API on port 3000 with json get and post requests.
Update fortunes with put in express to modify fortune objects by id using request body fields. Learn partial updates with key checks and a write helper to persist fortunes.json changes.
Create delete support for fortunes in the Express API by filtering out the target id and saving the updated array to fortunes.json, tested via Postman.
Install and configure PostgreSQL across Mac, Linux, and Windows, launch the psql interactive shell, and understand the Postgres user and PATH setup to manage databases from the command line.
Create a testdb database, enter the SQL shell, and build a test table with name and fave number attributes. Insert sample rows and run a select to view them.
Create and run sql scripts in Postgres by building a creatures db, defining wizards, elves, and hobbits, inserting data, and executing a single sql file.
Master sql select queries to fetch data from one or more tables, using from, where, order by, and limit with star or specific attributes.
Explore relational tables in Postgres by building many-to-many, one-to-many, and one-to-one relationships using allies and guardians, with wizard, elf, and hobbit keys.
Connect to a Postgres database and perform joins across allies, guardians, elves, and hobbits. Learn to use on conditions to retrieve combined data from multiple tables.
Build a Node and PostgreSQL monsters API, set up tables monsters, habitats, and lives with a one-to-many relationship, connect with pg, and enable CRUD for monsters.
Configure a Postgres monsters db for a node app, create a dedicated node user, and use a bash script to drop, recreate, and load data via npm.
Configure Postgres with password authentication by editing the HBA file to MD5, restarting the server, and exporting an environment variable called PG password for the npm run configure.
Configure a node and express backend to connect to a postgres database using a pg pool, including setting up connection options, testing queries, and securing credentials with secrets and gitignore.
Create an express api to serve monsters data from a Postgres database by exposing a get /monsters endpoint, sharing a pool, and returning rows as json.
Master robust error handling in Express by implementing a catch-all middleware with app.use, using next to pass errors, and returning error data via json in the monsters API.
Extend the monsters API to support retrieving a single monster by id using an express route parameter and a parameterized PostgreSQL query, alongside existing get all monsters functionality.
Add a post method to the monsters router to insert new monsters into Postgres, parsing json bodies, and redirecting to fetch updated data via the monsters endpoint.
Learn to implement a put method that updates a monster by id in the monsters table, supporting partial updates of name and personality.
Learn to implement a delete endpoint for the monsters table using express router.delete on /:id, executing a SQL delete from monsters where id = $1, and redirecting to /monsters.
Create a habitats route to interact with the habitats table, implementing get all habitats and post new habitats using express and a database pool, mirroring the monsters route.
Explore how the lives relational table links monsters and habitats, perform join queries with habitats to reveal climate and temperature, and expose /lives and /lives/conditions endpoints.
Become an in demand software engineer by taking this course on Node, SQL, PostgreSQL, and backend web development. As one of the most popular web development stacks today, learning Node, SQL, and PostgreSQL is a must. Knowing these languages and frameworks will open doors and jobs for you.
In this project-based course, you’ll learn how to build Node, SQL, and PostgreSQL applications by building three full projects. You’ll discover some techniques widely used in the industry today. And you’ll find out how to use notable libraries like Express and Pg.
You will skyrocket to the top of the talent pool because you can build backend web applications. The backend is the heart of services and products. So knowing how to write the backend is the other highly crucial skill looked for by top software companies like Google, Facebook, Microsoft, and more.
In this course, you’ll get familiar with Node by building an application from the start. First, you’ll learn how to use the native Node modules to build a server.
Second, you’ll build a more in-depth application with Node and Express to learn how to a build an api with a complete set of http request methods.
Next, you’ll dive into SQL and PostgreSQL to build a solid foundation around these tools. After, you’ll build an api that combines all the previous concepts with Node and PostgreSQL so that you understand how to create Node apps that work with advanced databases.
If you’ve already gone through the the quick JavaScript and web development tutorials online, then this course will take you to the next level.
Ready to step up your coding game? Excited to boost your skills? Then what you are waiting for? Let’s get started coding!