Large-Scale Frontend Architecture
Architect-level thinking. Architecture principles, folder structure, dependency inversion, monorepos, micro-frontends, and making decisions that scale to millions of users and hundreds of engineers.
Core architecture principles for large-scale frontends: separation of concerns, dependency direction, SOLID for UI, Conway's Law, and the monolith-to-microservices spectrum.
Layer-based vs feature-based project structure: co-location, feature-sliced design, scaling to 50+ features, and when to use each approach.
Abstracting external dependencies in React apps: adapter pattern for third-party services, repository pattern for data, React context as a DI container, and why it all matters for testability and vendor flexibility.
Structuring API communication in large frontends: the API layer pattern, interceptors, error handling, retry logic, request deduplication, and type-safe API clients.
Deep comparison of REST, GraphQL, and tRPC: trade-offs in type safety, bundle size, caching, overfetching, and when to use each. Plus BFF pattern and API gateways.
Data fetching patterns in modern React: fetch-on-render, fetch-then-render, render-as-you-fetch, parallel fetching, waterfall elimination, prefetching, and stale-while-revalidate.
Monorepos for frontend at scale: why monorepos win, Turborepo vs Nx, task orchestration, package boundaries, internal packages, dependency management, and CI optimization.
Micro-frontends: independently deployable frontend units, composition patterns, routing, shared dependencies, inter-app communication, and when they actually make sense.
Module Federation for micro-frontends: host/remote setup, shared dependency negotiation, dynamic remote loading, independent deployment, state sharing, testing strategies, and the Module Federation 2.0 runtime API.
ADRs: documenting architectural decisions with context, rationale, and consequences. Templates, tooling, living documentation, and building a team knowledge base.
10 real-world architecture scenarios testing your ability to choose the right patterns: project structure, API design, data fetching, monorepos, micro-frontends, and dependency management.