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.
Low, Medium, High, Critical).TroubleshootingWizard.razor) that guides employees through self-service fixes and automatically formats diagnostic logs to attach to tickets.New, InProgress, Troubleshooting, PendingUser, Resolved, Closed), priority badges (P1 Critical to P4 Low), and search.> 15:1 ratio), standardized 3px :focus-visible indicators, semantic ARIA landmarks, paired form labels, and 44px+ touch targets.Ticket: Central entity storing ticket number (TICK-1001), urgency, priority, status, diagnostic summary, resolution, and timestamps.Device: Hardware IT assets (Laptops, Printers, Switches, Barcode Scanners) with Asset Tag, Model, OS, and IP Address.Location: Physical and remote office areas (Building, Floor, Department).TroubleshootingStep: Diagnostic tree nodes with questions, options, and recommended quick-fix actions.TechnicianNote: Timeline updates with internal note flags for IT staff.KnowledgeArticle: Solution articles generated from resolved tickets or written directly.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 | 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 |
# 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).
#0f172a on #f8fafc) exceeds WCAG AAA contrast ratio (15.8:1).:focus-visible 3px indigo outline for all buttons, inputs, links, and dropdowns.<main>, <nav>, <header>, <article>), explicit <label for="..."> input pairing, and aria-live="polite" status alerts.Distributed under the MIT License.