Product Management System


A very common scenario in web development is having different sections authorized to different roles within an organization. In this app we'll learn how to secure an app based on the user's position in the system, using ASP.NET Core Identity.

On top of that we will provide functionalities such as e-mail confirmation and passwords resetting and recovery. These can be difficult to implement but the good news is that you can find solutions out of the box by using ASP.NET core scaffolding tools.

But as always, let's talk less and code more. Roll up your sleeves!


  • This is back-of-store app where users will manage products. Feel free to choose any industry
  • You can use any ASP.NET front-end solution (Razor Pages, MVC, Blazor)
  • You need to use ASP.NET Core Identity
  • Users should be able to add, delete, update and view products
  • Products should have at least the following products: IsActive, DateAdded, Price
  • You don't need to add relational data (i.e. product categories, orders)
  • The app needs to have an admin area that will only be accessible to users with the 'Admin' role
  • In the Admin area, admin staff will be able to add, update, delete and view staff
  • New staff should be able to register themselves. Registration should be confirmed by e-mail
  • Staff should be able to reset their password
  • Staff should be able to recover their forgotten password
  • You need to implement an e-mail service for account confirmation and password functionalities
  • You need to seed test data
  • You need to use EF's EnsureCreated method so the database and tables are created automatically
  • You need to add logging logic to your app and save logs to your database when errors occur
Log in to mark this article as read and save your progress.
An unhandled error has occurred. Reload 🗙