In 2012 I had an assignment to program a Tetris clone in 3D using OpenGL (and GLUT) in C++. I spent the two weeks of Easter vacation coding it, and I'm proud of the result. The only thing missing is a translucent border around the playing field.
If the choice of keys for field rotation seem weird to you, that's because you're not using an AZERTY keyboard. ;)