Quiz & Assessment Platform

A secure and extensible quiz engine built with ASP.NET Core, EF Core, and Identity — designed for learning, evaluation, and certification.

The Quiz & Assessment Platform was designed to provide a robust foundation for online testing, learning assessments, and automated result generation.

It demonstrates the power of ASP.NET Core Identity, Entity Framework Core, and modular architecture for building scalable web applications with real-world authentication and authorization requirements.

Objective

To build a modular quiz system where users can register, take topic-based quizzes, view scores instantly, and earn digital certificates — all while maintaining strong security and clean data models.

Architecture Overview

  • Pattern: Layered architecture with repository & service abstraction.
  • Projects:
    • QuizPlatform.Domain — Entities (Course, Question, AnswerOption, QuizAttempt, User).
    • QuizPlatform.Data — EF Core DbContext, migrations, and seed data.
    • QuizPlatform.Services — Business logic, scoring, and validation.
    • QuizPlatform.Web — ASP.NET Core MVC UI with Razor views.
  • Tech Stack:
    • ASP.NET Core 8 MVC
    • EF Core 8 + SQL Server
    • ASP.NET Core Identity (Roles: Admin, Instructor, Student)
    • Bootstrap 5.3 + jQuery for UI
    • FluentValidation + DataAnnotations
    • Serilog for structured logging

Authentication & Authorization

Implemented using ASP.NET Core Identity with role-based access:

  • Admin: Manage courses, questions, and users.
  • Instructor: Create quizzes, add questions, set correct answers.
  • Student: Register, take quizzes, view reports & certificates.
  • Password hashing, 2-factor auth, and account lockout policies applied.
  • Token-based password reset and email verification integrated.

Core Features

  • Course & Question Management — CRUD with validation and hierarchy.
  • Dynamic Quiz Generation — Randomized questions from topic pools.
  • Timed Assessments — Countdown timer + auto-submit on expiry.
  • Instant Scoring — Evaluates answers, computes percentage, stores results.
  • Certificates — Auto-generated PDF certificates on passing score.
  • Dashboard Analytics — Average scores, attempts, and pass rate per course.
  • Responsive UI with smooth navigation and Bootstrap 5 styling.
  • Accessibility Ready: Keyboard navigation and ARIA labels.

Data Model Highlights

  • Entities:
    • Course → has many Questions.
    • Question → has many AnswerOptions.
    • QuizAttempt → links User + Course + responses + score.
  • EF Core Fluent API used for all relationships and cascades.
  • Soft Delete & audit fields: CreatedAt, UpdatedAt, DeletedAt.

Code Quality & Testing

  • Repository & Service tests using xUnit.
  • Integration tests for scoring logic and certificate generation.
  • Static analysis via Roslyn analyzers.
  • Automated test coverage in CI (GitHub Actions).

Hosting & Deployment

  • Deployed to Azure App Service with connection to Azure SQL Database.
  • Static assets (certificates, logos) stored in Azure Blob Storage.
  • Continuous Deployment (CI/CD) via GitHub Actions pipeline.
  • App Insights for performance and error telemetry.

Outcomes

  • Reduced grading time by 100 % — instant evaluation and feedback.
  • High scalability — supports 10 000+ quiz attempts with optimized EF Core queries.
  • Reusable architecture — extended later for corporate skill-assessment projects.
  • Improved code clarity using strongly typed ViewModels and DTOs.

Key Learnings

  • ASP.NET Core Identity integrates cleanly with EF Core when layered correctly.
  • Separating domain, data, and service layers keeps business rules testable.
  • EF Core’s tracking and LINQ optimizations are critical for bulk inserts/updates.
  • Role management and seeding must be automated in startup for CI/CD stability.

The Quiz & Assessment Platform proves how Identity + EF Core can power secure, user-centric applications with clean, maintainable codebases.
It’s now my go-to reference when designing any system involving authentication, authorization, and structured data workflows in .NET.

Tech Stack: ASP.NET Core 8 · EF Core 8 · Identity · Azure App Service · Bootstrap 5