- NodeJS installed; the course was developed with node v16.4.0. Run
node -v
to see your version - NPM installed; the course was developed with npm v8.3.0. Run
npm -v
to see your version
- Clone this repository into your local machine using the terminal (Mac), CMD (Windows), or a GUI tool like SourceTree.
- Run
npm install
to get all dependencies installed
The Chat product we're building is a monorepo made up of 3 distinct packages:
- The Shared Library exposes interfaces that are used by both the front and backend
- The Websocket Server is the backend in charge of managing websocket connections and relaying chat messages
- The Angular Web Application is the Chat application UI
The Monorepo is managed using the Nx build system to greatly simplify setup. Here are the commands used to scaffold each package (we'll go through them during the course):
npx nx generate @nrwl/workspace:library types
npx nx generate @nrwl/node:app server
npx nx generate @nrwl/angular:app webapp --backendProject server --strict false --style scss --routing false
npx nx generate @angular/material:ng-add --project=webapp --typography false --theme indigo-pink --animations true
After install, add the Angular material theming CSS file of your choice to the styles array of project.json. For example:
"node_modules/@angular/material/prebuilt-themes/indigo-pink.css"
Options are indigo-pink.css
, deeppurple-amber.css
, pink-bluegrey.css
and purple-green.css
https://github.com/websockets/ws
https://rxjs.dev/api/webSocket/webSocket
https://chrome.google.com/webstore/detail/advanced-websocket-client/lgimpnfdefcpkicbflpmainbcdnlblej
https://addons.mozilla.org/en-US/firefox/addon/websocket-weasel/