Home

IT operations & support

InfraOps DeskEvery ticket, in its place.

When a ticket is separate from its device and follow-up history, it is hard to know what happened and what needs attention next. This prototype connects all three.

Role & scope

A personal incident and asset management project. The repository contains Python and SQLite; this workspace lets you inspect case history and follow-up actions.

How does it work?

  1. Browser interface

    Create a ticket, select its asset, search records and change status.

  2. Application rules

    A JSON API validates requests; a separate store calculates priority and applies updates.

  3. Persistent history

    Assets, tickets and ticket events are separate tables. A status change appends an event.

The decisions behind it

Why Python and SQLite?

The local prototype runs without accounts or a separate database service. Separating HTTP from the store makes domain rules testable without the UI. A real team deployment would need permissions, backups and a different operating policy.

How is priority calculated?

Impact and urgency each range from 1 to 3. Their sum maps 6 to P1, 5 to P2, 4 to P3, and 2–3 to P4. Targets are illustrative elapsed hours, not employer service agreements.

What if an update fails?

SQLite transactions commit the update and its event together or roll back. User values are passed as SQL parameters rather than assembled into query text.

Inspect the work.

The repository exposes the priority rules, validation, status history and their tests. The portfolio preview also checks delayed incident creation, deadline ordering and invalid request structures.

InfraOps Desk
InfraOps: incident records, devices and follow-up
From the actual project UI
Case history · March–October 2026
InfraOps · separate workspace

Project records cover March to October 2026. Inspect cases and add a ticket within the session.

PythonSQLite