Memory Game


The objective of this project is to provide extra practice so you can consolidate your knowledge of Blazor. The data model won’t be very complex. But manipulating the state of the UI will be slightly complex.

We will build a simple memory game where the users are presented with a group of paired cards facing down and they can turn the cards up to try to match them with their pair. Once a pair is matched, it becomes inactive. The game is finished when all pairs are matched.


  • Your memory game should have a timer.
  • Once a game is finished it should record the date it was played and the time it took to finish in a "games" table.
  • You should have just one level of difficulty.
  • Your game should have 9 cards.
  • The app should have two main components: the game and the games list.
  • You shouldn't need a database for the game functionality. All the information about the cards can be in lists in the code base.
  • Since it only requires basic operations, use Entity Framework for recording game history.


  • Split the development in three phases: game functionality, games history, styling.
  • When developing the functionality, have a simple game with 4 or 6 cards for faster testing.
  • During development, use characters on your cards. Bring in icons or images in the styling phase.


  • Add difficulty levels to your game: more cards.
  • Add a game against the clock: How many cards can the user match in a minute?
  • Add a search functionality to the games list
  • Add a reports area where you'll query the database and show: How many games played per week/month/year and average score
Log in to mark this article as read and save your progress.
An unhandled error has occurred. Reload 🗙