Yii is a generic Web programming framework, meaning that it can be used for developing all kinds of Web applications using PHP. Because of its component-based architecture and sophisticated caching support, it is especially suitable for developing large-scale applications such as portals, forums, content management systems (CMS), e-commerce projects, RESTful Web services, and so on.
AR is perfect when you need to delete, update or create one or more records sequentially. Its support of dirty attributes (saving only what was really changed) results in optimized UPDATE statements which lifts the load from database significantly and reduces chances for various conflicts connected with editing same record by multiple persons at the same time.
If you don't have really complex logic in your application and therefore it doesn't require abstracting entities, AR is the best fit for deletes, updates and creates.
AR is also OK for simple queries resulting in under 100 records per page. It's not as performant as working with arrays produced by query builder or asArray() but is more pleasure to work with.
AR is not recommended for complex queries. These are usually about aggregating or transforming data so what's returned doesn't fit AR model anyway. It is preferable to use query builder in this case.
Same goes for import and export. Better to use query builder because of high amounts of data and possibly complex queries.
Cookies are part of HTTP request so it's a good idea to do both in controller which responsibility is exactly dealing with request and response.
All URLs should be created via helper yii\helpers\Url
it helps you to much if you decide to change url rules in urlManager.
this example is based on the advanced template https://github.com/yiisoft/yii2-app-advanced
The cinghie asset in this example is the asset package for adminLTE https://github.com/cinghie/yii2-admin-lte