This document discusses AngularJS application architecture best practices including:
- Separation of concerns by component type and feature
- Consistent syntax such as aliasing 'this' for nested functions
- Organizing the app by feature rather than type for larger apps
- Naming conventions for controllers, services, directives
- Using modules to aggregate dependencies
- Best practices for controllers, AJAX calls, unit testing, and end-to-end testing