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:
- Node v20+
- Check with
node --version
- Check with
- 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
- Check with:
- 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`
- 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
andlibs
folder - Run
npx nx graph
to see how architecture looks like
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: Nx import, CodeOwners, and Conformance |
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.
Learn more:
- Learn more about this workspace setup
- Learn about Nx on CI
- Releasing Packages with Nx release
- What are Nx plugins?
And join the Nx community: