Skip to content

Latest commit

 

History

History
103 lines (76 loc) · 6.05 KB

README.md

File metadata and controls

103 lines (76 loc) · 6.05 KB

✨ Nx Masterclass Workshop ✨

In this workshop we will be extending the Nx workspace containing two applications and several feature and utility libraries that represent a simple IMDB clone.

Our frontend application is built with Angular and our backend is built with NestJS but we will be focusing on the Nx itself rather than the actual codebase.

Feel free to change the style or business logic of those apps prior to workshop to your liking.

This is what we're working with:

Movies app

Setup

Prerequisites

  • Node v20+
    • Check with node --version
  • Optionally Yarn or Pnpm
  • GitHub account
  • IDE of your choice
  • A Fly.io account with CLI installed
    • Check with: fly help
    • Note No need to set up the Credit card, we will use free tier

Getting the repo

  • Fork this repo

  • Clone your fork and install dependencies

    git clone https://github.com/{your name}/ng-be-workshop-2024.git
    
    npm install
    # optionally use `yarn` or `pnpm`

Get acquainted with the application

  • Serve both frontend and the backend
    npx nx run-many -t serve
    
  • Open localhost:4200 in your browser and click around
  • Bonus if you spot some missing or broken functionality and you fix them
  • Check the apps and libs folder
  • Run npx nx graph to see how architecture looks like

Discord workshop channel

Join the Discord channel


Let's get started

Advanced course
📖 Course introduction
📖 Automate your workspace with local plugins and custom generators
☕ Break
📖 Learn how to write and test your complex generators
📖 Write advanced deployment targets using a custom executor
☕ Break
📖 Set up CI for your pull requests, connect to Nx Cloud, enable remote caching and the GitHub integration
📖 Nx Caching deep dive: Strategies for debugging cache misses, optimization strategies, and fine-tuning cache inputs and outputs
📖 Set up continuous deployment pipeline for affected applications
☕ Break
📖 Configure task distribution on CI with Nx Agents, including exploring custom launch templates and dynamic agent scaling.
📖 Leverage Nx Crystal plugins and Nx Atomizer to configure task splitting for improving CI distribution and speed
📖 Explore flaky task detection
Bonus: Infer Fly.io deploy target
Bonus: Nx import, CodeOwners, and Conformance

Extras

Install Nx Console

Nx Console is an editor extension that enriches your developer experience. It lets you run tasks, generate code, and improves code autocompletion in your IDE. It is available for VSCode and IntelliJ.

Install Nx Console »

Useful links

Learn more:

And join the Nx community: