Skip to content

nrwl/ng-be-workshop-2024

Repository files navigation

✨ 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:

About

Nx Advanced workshop for NG-BE 2024

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •