Quiz Game

Introduction

Now you’ve completed two projects with Angular and hopefully you’re starting to get comfortable with it. This next project will have a slightly more complex design and will stimulate your creativity while reinforcing your knowledge of Angular. We’ll once again practice a more complex data relationship scenario. This project will keep you busy for a while, but you’ll learn a lot from it.

Requirements

  • This is an application where you will create and play quiz games.
  • You should create two projects: A .NET WebApi and an Angular app.
  • You can choose whatever database solution you want: Sqlite, SQL server or whatever you're comfortable with.
  • You can choose only use Entity Framework, no other ORM is allowed.
  • Your database should have three tables: Question, Quiz, Game.
  • A question needs to have a Quiz associated with it, hence a foreign key is needed.
  • A game needs to have a Quiz associated with it, hence a foreign key is needed.
  • If a quiz is deleted, all questions and games associated with it need to be deleted.
  • You need to use pagination, which means you can't show any lists or tables longer than the height of the screen.
  • You need to use Angular Material

Resources

The resourced from the previous Angular projects can be used for the completion of this project, plus these:

What you'll learn

  • This project has loose design requirements, so search for quiz game designs on Google for inspiration, when you're planning your app.
  • Try to work with a couple of UI elements you haven't used before, for practice. In Angular Material's Documentation, if you click on Components, you'll see a large list of components on the left side of the screen. Grab one or two that you think can fit the project.
  • This is a very strong portfolio project, so make sure you pay attention to details, don't leave any stone unturned and ask for feedback in our community.
  • Take your project a step further by creating interesting features such as: A timer for your games, which the users can use. Or reports such as: games played per week, favourite games, etc. Let your creativity loose!
Log in to mark this article as read and save your progress.
An unhandled error has occurred. Reload 🗙