FA-0734Software DevelopmentDevOps, Cloud & Infrastructure

JavaScript and Node.js Application Development

Language foundations, server-side tools, APIs and a containerised example

Introduction

Why this course

Build JavaScript foundations and apply them to a small Node.js command-line and web/API project. Explore asynchronous behaviour, event-driven interfaces, CouchDB persistence and a controlled container/deployment example.

The main route is six days, followed by an optional one-day Angular starter exercise. Learners with established JavaScript skills may use the four-day Node core; neither route promises a complete production microservice platform or full Angular expertise.

Learning outcomes

Learning outcomes

  • Explain functions, objects, classes, prototypes, scope and asynchronous JavaScript.
  • Build a small Node.js CLI or API and apply selected design patterns.
  • Use events, streams, child processes or sockets in bounded examples.
  • Connect to CouchDB and handle document update conflicts.
  • Apply a suitable authentication/permission approach and inspect error cases.
  • Package a supplied application with Docker and review deployment requirements.
  • If attending the optional day, connect a small Angular starter interface to the sample API.
Prerequisites

Prerequisites

  • Basic programming familiarity and command-line/file-management skills; no prior Node.js expertise required.
  • JavaScript experience for learners skipping the first two days.
  • A supported Node.js release, suitable editor, compatible CouchDB/Docker lab and approved installation/network access.
  • Basic HTML/CSS is helpful for the optional supplied Angular project.
Training outline

7 modules

·
01Day 1 — JavaScript functions and object design4 topics
  • Functions as objects, object construction and prototype-based inheritance.
  • Current class syntax and its relationship to prototypes; JavaScript does support classes.
  • Compare var, let and const scope and distinguish module scope from the global object.
  • Use small examples to inspect object responsibilities and suitable factory patterns.
02Day 2 — Context and asynchronous behaviour7 topics
  • The "this" keyword in Java Script
  • Running in strict mode
  • Callbacks
  • Error handling with callbacks
  • Promises
  • Chaining promises
  • async and await

Inspect this binding, strict-mode effects and rejection/error propagation; compare callbacks, promises and async/await without assuming asynchronous syntax makes CPU work non-blocking.

03Day 3 — Node.js and command-line structure3 topics
  • Node runtime, modules, packages and the selected project structure.
  • Build a small CLI with clear input/output and error behaviour.
  • Use a model/factory example to organise responsibilities; assess complexity rather than apply patterns mechanically.
04Day 4 — Events, processes, streams and sockets4 topics
  • Use a selected EventEmitter example and handle errors.
  • Inspect child-process lifecycle and platform constraints; distinguish separate processes from worker-pool activity.
  • Trace a small stream with backpressure and a socket example where relevant.
  • Identify work that can block the event loop and review resource cleanup and failure behaviour.
05Day 5 — CouchDB and controlled packaging4 topics
  • Read/write sample JSON documents through CouchDB’s HTTP interface and handle revision/update conflicts.
  • Prepare a small Docker image with compatible dependencies and configuration kept separate from code.
  • Run the sample container in the lab and review logs, networking, persistence and secret handling.
  • Compare this exercise with actual operational release, monitoring and recovery requirements; publishing a container is not proof of production readiness.
06Day 6 — REST API and access controls4 topics
  • Implement selected REST endpoints, validate input and return appropriate responses.
  • Connect the API to the sample document store and inspect success and failure paths.
  • Use a suitable authentication and permission approach; protect credentials and review the required transport/session/token assumptions.
  • Review application boundaries and microservice trade-offs using the modest project rather than a complete distributed architecture.
07Optional day 7 — Angular starter interface3 topics
  • Orient to a supplied compatible Angular project and its component/data flow.
  • Call the sample API, display results and handle a simple loading or error state.
  • Review the interface/backend contract and identify next steps for deeper frontend development.

A programme built around your team.

Share your training goals and requirements.

JavaScript and Node.js Application Development
FA-0734

Share your requirements for this programme.

Training enquiry

JavaScript and Node.js Application Development