Publication date : 07/09/2024

Course : Developing Full JavaScript Web applications

Practical course - 4d - 28h00 - Ref. FUJ
Price : 2200 € E.T.

Developing Full JavaScript Web applications




You will learn how to develop multi-page or single-page Web applications in JavaScript. The frameworks used will be Angular for the client side and Node.js for the server side. NoSQL databases will be covered, with MongoDB and other useful frameworks such as Express JS.


INTER
IN-HOUSE
CUSTOM

Practical course in person or remote class
Available in English on request

Ref. FUJ
  4d - 28h00
2200 € E.T.




You will learn how to develop multi-page or single-page Web applications in JavaScript. The frameworks used will be Angular for the client side and Node.js for the server side. NoSQL databases will be covered, with MongoDB and other useful frameworks such as Express JS.


Teaching objectives
At the end of the training, the participant will be able to:
Master the concepts of asynchronous, functional and reactive Javascript programming.
Develop a SPA client application with Angular and Material Design.
Develop a server application and REST API in Javascript with Node, Express.
Add a data persistence layer using a NoSQL approach with MongoDB.
Deploy a Full Javascript application in production using Docker.

Intended audience
Developers and project managers.

Prerequisites
Good knowledge of the fundamentals of the JavaScript language (in particular the notion of callback) as well as strong notions of HTML and CSS.

Practical details
Exercise
A "red thread" application will be built, gradually enriching it with the concepts covered.
Teaching methods
A "red thread" application will be built, gradually enriching it with the concepts covered.

Course schedule

1
A reminder of the basics

  • Prototype, hoisting, ES5/6, binding, get/set.
  • Asynchronous programming: event loop, blocking call, promise, async-await.
  • GUI primitives (DOM access, event management, ajax).
  • Reactive programming: observable, subjet, behaviorSubject (RxJS).
  • Typescript: typed and modular programming. Decorators. Generics.
Hands-on work
Web application that displays the contents of a BehaviorSubject in real time (e.g. stopwatch).

2
Node.js

  • Commands: Node, npm, npx.
  • Files: package.json, node_modules, etc.
  • Global and local modules, semver versions.
  • Asynchronous Node PLC contract.
  • Practical tools: Nodemon, ts-node, webpack.
Hands-on work
Installation d’un environnement de développement. Construction d’un site http « hello-world » en JS, sans express.

3
ExpressJS

  • RequestListener, Middleware, Middleware chaining.
  • Building an application skeleton.
  • Express and application configuration.
  • Rendering views with EJS.
  • Setting up a REST API: CRUD on http.
  • Implementation of an express server in Typescript.
Hands-on work
Creation of an express server with EJS templates and a basic JSON web service API, and a REST API.

4
Angular

  • Digestion, interest in observables, behaviorSubject.
  • Responsive routes and forms.
  • http requests.
  • Using off-the-shelf layouts and widgets: Angular Material.
  • Construction of the production deliverable.
  • Starting a project with Angular cli.
  • Artifact presentation.
  • Databinding concept.
Hands-on work
Creation of an Angular SPA client using Angular Material to perform a CRUD on a resource.

5
MongoDB

  • Mongo installation, normal and via docker.
  • Installation of Mongo compass (intuitive client).
  • Exploring Mongo concepts: collections, documents, etc.
  • CRUD on Mongo from Node.
  • REST API with Middleware express exposing a Mongo collection.
Hands-on work
Add a complete persistence layer to the previous application.

6
Full JavaScript application deployment

  • Deployed application architecture: reverse proxy, HTTPS, load balancer.
  • List of the main deployment methods: Docker/Kubernetes, PM2, BaaS (Netlify, Firebase, etc.).
  • Making a Full Javascript application deployable: using environment variables. dotenv library.
  • PM2 production management tools.
  • PM2 ecosystem file: ecosystem.config.js.
Hands-on work
Use PM2 to start the previous application in production mode.


Customer reviews
5 / 5
Customer reviews are based on end-of-course evaluations. The score is calculated from all evaluations within the past year. Only reviews with a textual comment are displayed.
ANTOINE I.
04/11/25
5 / 5

Very fun and interesting content. In terms of teaching, there's nothing to criticise. Mickael took the time to look at each individual case and was proactive in his teaching.