Skip to content

Doaa-Awan/ncr-quality-management

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

722 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NCR Quality Management System

Tracking non-conformance reports across departments using spreadsheets and manual emails creates version confusion, lost reports, and no audit trail. This system replaces that process with a centralized, role-based web application where reports move through a defined multi-stage workflow with automated notifications at each step.

Note: Built as a capstone group project at Niagara College (5-person team, 720+ commits). I was one of two primary contributors, responsible for the role-based dashboard and access control, NCR report stage navigation and lifecycle views, PDF generation, filter/search functionality, lookup list management, and overall UI styling and responsiveness.


Screenshots

dashboard-engineering

The Problem

At manufacturing and quality-focused organizations, non-conformance reports (NCRs) document defects, process failures, and quality issues that need to be reviewed and resolved across multiple departments. The typical workflow — spreadsheets passed around by email — meant:

  • No single source of truth for report status
  • Reports lost or forgotten between handoffs
  • No audit trail of who reviewed what and when
  • No enforcement of review order across departments

The Solution

A full-stack ASP.NET MVC web application where NCRs are created, routed, reviewed, and archived through a structured multi-stage workflow. Each department sees only what's relevant to their role, and automated emails keep everyone accountable without manual follow-up.


Key Features

  • Multi-stage report lifecycle — NCRs move through defined stages (e.g. initiation → quality review → engineering → disposition) with status tracked at each step
  • Role-based access control — department-specific views and permissions ensure reports route correctly and users only act within their scope
  • Automated email notifications — triggered at each stage transition, replacing manual follow-up emails entirely
  • Email-verified registration — users confirm their email on signup, preventing unauthorized account creation
  • Report archiving — completed NCRs are archived and searchable for compliance and historical reference
  • Audit trail — every stage transition is logged with timestamp and responsible user

Tech Stack

Layer Technology
Backend C#, ASP.NET MVC
Frontend Razor Views, JavaScript, Bootstrap
Database SQLite
Auth Email verification, session-based auth
Deployment Azure
Version Control GitHub (5-person team, 720+ commits)

Architecture

Standard ASP.NET MVC pattern:

Controllers/     → Request handling and business logic
Models/          → Entity definitions and data annotations
Views/           → Razor templates per controller
Data/            → DbContext and migrations
Services/        → Email notification service

Running Locally

Prerequisites

  • Visual Studio 2022 or later
  • .NET 6+ SDK

Setup

  1. Clone the repository:
git clone https://github.com/yourgithub/ncr-quality-management.git
  1. Open Haver Niagara.sln in Visual Studio

  2. Update the connection string in appsettings.json if needed (SQLite, no external DB required)

  3. Apply migrations:

dotnet ef database update
  1. Configure email settings in appsettings.json:
"EmailSettings": {
  "SmtpHost": "your-smtp-host",
  "SmtpPort": 587,
  "SenderEmail": "[email protected]",
  "SenderPassword": "your-password"
}
  1. Run the application:
dotnet run

My Contributions

I was one of two primary contributors responsible for the majority of the application's core functionality across all four submission milestones (130+ commits, 29,120+ lines).

Authentication & User Interface

  • Designed and implemented the role-based dashboard that dynamically renders different views depending on the logged-in user's role (admin sees all stages; other roles see only their assigned stage)
  • Built the login page with a separate layout that prevents unauthenticated navigation
  • Implemented required field indicators and validation across all create and edit views

NCR Report Workflow

  • Built individual detail views for each report stage, linked together so users can navigate through the full lifecycle of a report
  • Created role-specific edit views so each user can only edit their assigned section of a report
  • Implemented filter and search functionality for both the active NCR log and archive list (by NCR#, stage, and supplier)
  • Added toast notifications for report creation, editing, stage transitions, voiding, and un-voiding

PDF Generation

  • Researched and implemented PDF generation for individual NCR reports, formatted to match the client's original paper NCR form with columns and images
  • Added download functionality for closed reports

Lookup Lists & Data Management

  • Built searchable supplier and defect dropdown lists on the main NCR log
  • Implemented "quickly add" functionality for supplier and defect dropdowns with dynamic list refresh
  • Fixed the DDL refresh bug so newly added items are immediately searchable without a page reload
  • Added and corrected seed data across multiple milestones to ensure report stages and data relationships were accurate

Styling & Responsiveness

  • Redesigned application colours, navigation, and overall layout for consistency with the client's branding
  • Built a collapsible filter menu and common container across all pages
  • Updated styling across all pages throughout the project lifecycle

Team

Built by a 5-person team as a capstone project at Niagara College (Computer Programming & Analysis, 2024).

About

Built as a capstone project to replace a real spreadsheet-based NCR process at a manufacturing firm

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C# 50.0%
  • HTML 47.5%
  • CSS 2.3%
  • JavaScript 0.2%