What are the best practices for structuring a large-scale AngularJS application?
Instruction: Outline your approach to organizing code, files, and modules in a large AngularJS application.
Updated
Official answer available
Read the opening below, then unlock the full answer and practical guidance.
For an existing AngularJS 1.x application, organize code around business features: for example, orders/ contains its module, components, templates, API service and tests. A small application module declares the feature dependencies. Put genuinely shared UI or infrastructure in clearly owned shared modules; avoid a single miscellaneous module that every feature modifies.
Keep controllers focused on view state and interaction. Put API access and reusable business operations in injected services, and keep DOM-specific behavior in components or directives...