[Yii2] www.tvmaze.com

Hello all,

With the GA release of Yii 2.0, we’re very proud to showcase http://www.tvmaze.com - one of the first projects out there that has been written from scratch in Yii 2. TVMaze aims to be the world’s number one resource for TV show information, which is presented to the visitor in a fast and responsive design; or made available through a JSON API.

Besides Yii 2, some of the core components in our stack are MariaDB, Redis and Elasticsearch. As CSS framework, we’ve opted for Foundation 5 instead of the default of Bootstrap.

If you have any questions about our site, the design decisions that we’ve made, or Yii2 development in general, feel free to ask us anything!

And of course we give major thanks to the Yii core developer team and all other contributors for creating an awesome, fast, comprehensive, easy to use and well documented framework! You rock!

looks really good

I used yii2 for an enterprise application in production for 2 weeks now

I would like to know about your caching strategy, as the site is very fast and is obviously expecting big traffic. Is all caching done by Yii, or is Nginx also caching full pages? In any case, I’d be interested to know how you got caching to distinguish between visitors and login users.

Thanks! We worked very hard to make the site as fast as possible.

We use Redis for caching (separate instances from the ones used as persistent key-value store), which is currently all handled in the application itself: query caching, caching of data which is expensive to calculate, etc.

We currently don’t use any full-page caching yet, although when our architecture was designed, we kept in mind that it will probably be added later on. For example, we made sure that all GET requests don’t write any state at all: functionality like view counting is handled in an (AJAX) request that’s separate from the pageload itself.

To answer your question: I believe that the existence or absence of the Yii _identity cookie can be used in Nginx (proxy_no_cache) to determine whether the request belongs to a logged-in user.

Great work :)

Amazing… really nice work::)