Quiz Game
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.
The app should contain two main areas: one for management of quizzes and one for playing the games.
The relationship between questions and quizzes should be a many-to-many. Questions could be part of many quizzes.
You should create two projects: An ASP.NET Core WebApi and an Angular app.
You should use Entity Framework.
Your app needs to support multiple users.
Your UI needs to have a vibrant color scheme.
You need to secure your application so that users have to register and login to use it.
Resources
The resourced from the previous Angular projects can be used for the completion of this project, plus these:
Tips
Plan your database scheme carefully. Many-to-many relationships can get tricky if not well thought out.
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.
Challenges
Integrate with Stripe and make it so that users can only create three quizzes for free. Any more than that, they'll need to purchase a subscription.
Add multi-player support so users can play against each other online.
Comments
0 comments
No comments yet. Start the conversation.