This is a small project I completed a few months ago, in which I added most of the features (including some quality of life ones!) that you would expect to find in a minesweeper game in order to practise basic programming and design techniques.
I even devised an algorithm based off of Conway's Game of Life which I believe can create harder minefields, by reducing mine clustering and thus making mines harder to eliminate on average.