TicketsPlease

Local IT Triage Desk

.NET 10 Blazor Entity Framework Core ADA Compliance License

A full-stack IT problem reporting and structured diagnosis web application for small businesses built with ASP.NET Core, Blazor Web App (InteractiveServer), Entity Framework Core, and SQLite.

Designed with real-world IT triage experience in mind, this project provides a guided diagnostic engine, ticket priority matrix, technician activity timeline, automated knowledge base publishing, and business metrics analytics.


Key Features

  1. Submit Issue: Report hardware, software, network, printer, or AV issues linked to specific device assets and physical/remote office locations with urgency levels (Low, Medium, High, Critical).
  2. Guided Troubleshooting Wizard: Interactive diagnostic decision tree (TroubleshootingWizard.razor) that guides employees through self-service fixes and automatically formats diagnostic logs to attach to tickets.
  3. Triage Desk Dashboard: Real-time ticket management interface with status filters (New, InProgress, Troubleshooting, PendingUser, Resolved, Closed), priority badges (P1 Critical to P4 Low), and search.
  4. Technician Activity Notes & Resolution Tracking: Ticket deep-dive displaying device hardware specs, internal technician notes, technician assignment, status escalation, and 1-Click Publish to Knowledge Base.
  5. Searchable Knowledge Base: Technical solution guides with category quick-pills and view counters auto-generated from resolved IT tickets.
  6. Triage Metrics & Analytics: Executive insights tracking top recurring IT problem categories, average resolution time (hours), priority distribution, and affected device assets & locations.
  7. Bright Mode & ADA/WCAG 2.1 AA Compliance: High-contrast typography (> 15:1 ratio), standardized 3px :focus-visible indicators, semantic ARIA landmarks, paired form labels, and 44px+ touch targets.

Domain Data Model


Pre-seeded Demo Accounts

On initial run, the application automatically provisions SQLite database TicketsPlease.db with pre-seeded IT devices, locations, decision trees, sample tickets, and test accounts:

Role Email Password Access Level
Technician Lead tech@triage.local TechPass123! Triage, Notes, Status, KB Publishing
Field Technician tech2@triage.local TechPass123! Ticket assignment & resolution
Employee Lead employee@triage.local UserPass123! Issue submission & troubleshooting
System Admin admin@triage.local AdminPass123! Full system administration

Getting Started

Prerequisites

Quick Run

# Clone repository
git clone https://github.com/frankstop/TicketsPlease.git
cd TicketsPlease

# Run ASP.NET Core Blazor Web App
dotnet run

Open your browser to http://localhost:5000 (or http://localhost:5050).


Accessibility (ADA / WCAG 2.1 AA)


License

Distributed under the MIT License.