Sustainable Angular Architectures with Nx and Strategic Design
Is your large Angular app becoming an unmaintainable monolith? Learn how Strategic Design and Nx can enforce clear architectural boundaries and prevent coupling.
#1about 4 minutes
Using Strategic Design to decompose large systems
Strategic Domain-Driven Design (DDD) provides a methodology for decomposing a large, complex system into smaller, more maintainable sub-domains to prevent tight coupling.
#2about 6 minutes
Understanding the benefits of using monorepos
Monorepos simplify development by co-locating all projects, eliminating dependency version conflicts, and removing the burden of distributing internal libraries via NPM.
#3about 2 minutes
Enhancing Angular monorepos with Nx tooling
Nx extends the Angular CLI with powerful tools for monorepos, including the ability to visualize the dependency graph between libraries to prevent unwanted coupling.
#4about 4 minutes
Structuring libraries with Domain-Driven Design principles
Organize your monorepo by creating folders for each domain and a shared kernel, then categorize libraries into feature, UI, domain, and utility types to bring order.
#5about 3 minutes
Defining and enforcing architectural access restrictions
Implement strict access rules, such as layering where higher layers access lower ones, and domain boundaries to prevent direct communication and ensure loose coupling.
#6about 4 minutes
Using APIs to safely share code between domains
Avoid an overgrown shared kernel by creating dedicated API libraries that expose a small, stable public interface from one domain for use by others.
#7about 3 minutes
Isolating the domain model and business logic
Structure your domain library into three parts: the core domain logic, an infrastructure layer for data access, and an application layer with facades for state management.
#8about 8 minutes
Code walkthrough of an Nx and DDD project structure
A practical demonstration shows how an Nx monorepo is organized into apps and libs, with domains containing layered libraries and using index.ts to define public APIs.
#9about 4 minutes
Enforcing architectural rules with Nx linting
Nx can automatically enforce your architectural boundaries and layering rules using custom linting configurations, preventing violations directly in the IDE and CI pipeline.
#10about 5 minutes
Speeding up CI builds with Nx affected commands
Use Nx's `affected` commands to intelligently run tests and builds only on the projects impacted by your code changes, dramatically speeding up your CI/CD pipeline.
#11about 4 minutes
Summary of sustainable architecture principles
A recap of key takeaways including subdividing applications into domains and layers, using fine-grained libraries as units of recompilation, and enforcing rules with Nx.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
05:49 MIN
Using Nx to manage and scale a frontend monorepo
Stairway to Heaven - Scaling Frontends the Right Way
00:43 MIN
Key takeaways for adopting Nx and monorepos
Nx - the easy choice
03:16 MIN
Migrating to standalone and architecting your application
Stand alone components in Angular
04:54 MIN
Q&A on backend, git structure, and micro frontends
Generate Customer Journeys from reusable Building Blocks
08:07 MIN
Addressing common misconceptions about Nx
Nx - the easy choice
07:24 MIN
A practical demonstration of an Nx workspace
Stairway to Heaven - Scaling Frontends the Right Way
Micro Components - a different approach to a simpler component-based webThere has been a lot of heated discussion lately in the web community about component based development. One side argued that Web Components are a standard we should follow whereas others complained that they still lag behind in what frameworks offer...
Chris Heilmann
WeAreDevelopers LIVE days are changing - get ready to take partStarting with this week's Web Dev Day edition of WeAreDevelopers LIVE Days, we changed the the way we run these online conferences. The main differences are:Shorter talks (half an hour tops)More interaction in Q&AA tips and tricks "Did you know" sect...
Benedikt Bischof
How we Build The Software of TomorrowWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Thomas Dohmke who introduced us to the future of AI – coding.This is how Thomas describes himself:I am the CEO of GitHub and drive the company’s...
Benedikt Bischof
Why You Shouldn’t Build a Microservice ArchitectureWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Michael Eisenbart who talks about the pros and cons of microservice architecture.About the speaker:Michael has been working for Bosch as a sof...
From learning to earning
Jobs that call for the skills explored in this talk.