README: add walkthrough GIF, gallery and architecture diagram; add demo seed and capture scripts
Lint / PHP (phpcs PSR-12) (push) Failing after 31s
Lint / JS (eslint) (push) Successful in 8s
Lint / PHP requirements (version + extensions) (push) Successful in 22s
Lint / Deploy (push) Skipped
Security / PHP Security (semgrep) (push) Successful in 1m17s
Lint / Notify on failure (push) Successful in 8s
Lint / PHP (phpcs PSR-12) (push) Failing after 31s
Lint / JS (eslint) (push) Successful in 8s
Lint / PHP requirements (version + extensions) (push) Successful in 22s
Lint / Deploy (push) Skipped
Security / PHP Security (semgrep) (push) Successful in 1m17s
Lint / Notify on failure (push) Successful in 8s
This commit is contained in:
@@ -8,6 +8,62 @@ A feature-rich PHP-based ticketing system designed for tracking and managing dat
|
||||
**Documentation**: [Wiki](https://wiki.lotusguild.org/en/Services/service-tinker-tickets)
|
||||
**Design System**: [web_template](https://code.lotusguild.org/LotusGuild/web_template) — shared CSS, JS, and layout patterns for all LotusGuild apps
|
||||
|
||||

|
||||
|
||||
## Why this exists
|
||||
|
||||
Running a six-node Proxmox/Ceph cluster generates a steady stream of small problems: a drive with SMART warnings, a link that flaps, a certificate about to expire. Off-the-shelf helpdesks are heavyweight for that, and a plain todo list loses the history. Tinker Tickets is a small, opinionated ticketing system built for exactly this: tickets are created **automatically by monitoring** (and by hand), deduplicated so a repeating alert updates one ticket instead of flooding the queue, and every change is audited.
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
hw["hwmonDaemon<br/>SMART, Ceph, temps"] -->|Bearer API| tt
|
||||
gd["GANDALF<br/>network regressions"] -->|Bearer API| tt
|
||||
mcp["MCP server<br/>Claude Code / agents (OAuth)"] --> tt
|
||||
ui["Web UI<br/>people"] --> tt
|
||||
tt{{"Tinker Tickets<br/>PHP + MariaDB"}} -->|webhook| mx["Matrix notifications"]
|
||||
tt --> audit[("Audit log<br/>timeline per ticket")]
|
||||
```
|
||||
|
||||
## Gallery
|
||||
|
||||
**Dashboard**: live stat cards, priority and status breakdowns, team workload and a filterable queue.
|
||||
|
||||

|
||||
|
||||
**Kanban view** with per-column counts and priority-coloured cards:
|
||||
|
||||

|
||||
|
||||
**Ticket detail** with a live P1/P2 SLA timer, full metadata and a tabbed workspace:
|
||||
|
||||

|
||||
|
||||
| Comments (Markdown, @mentions) | Dependencies (blocks / relates to) |
|
||||
|---|---|
|
||||
|  |  |
|
||||
|
||||
**Activity timeline**, derived from the audit log (creation, assignment, status changes, comments):
|
||||
|
||||

|
||||
|
||||
**Command palette** (`Ctrl+K`) jumps to pages, saved filters and recently viewed tickets:
|
||||
|
||||

|
||||
|
||||
**Admin tools:**
|
||||
|
||||
| Workflow designer | API keys (scoped, revocable) |
|
||||
|---|---|
|
||||
|  |  |
|
||||
| **Audit log** | **Recurring tickets** |
|
||||
|  |  |
|
||||
|
||||
**Light theme** (the whole app follows the [web_template](https://code.lotusguild.org/LotusGuild/web_template) theme toggle):
|
||||
|
||||

|
||||
|
||||
<sub>Screenshots are generated with Playwright against a throwaway local instance seeded with fictional demo data (`scripts/demo/`).</sub>
|
||||
|
||||
## Styling & Layout
|
||||
|
||||
Tinker Tickets uses the **LotusGuild Terminal Design System**. For all styling, component, and layout documentation see:
|
||||
|
||||
Reference in New Issue
Block a user