A study ground for learn angularjs
You can see the final version in action on my site here: http://tolleycoder.com/tetris.php
I use the HTML5 canvas element for displaying the board, hammer.js for the mobile events, and angular.js to tie it all together.