diff --git a/app/ui/issues.md b/app/ui/issues.md new file mode 100644 index 0000000..58ab6fb --- /dev/null +++ b/app/ui/issues.md @@ -0,0 +1,114 @@ +# MVP Issues + +This issue list defines the work required to bring the `tp_servicedesk` Fat-Free PHP application to a beta-ready MVP for personal workload/project tracking. + +--- + +## ๐งฉ Ticketing System +- [ ] Display assigned user in ticket view +- [ ] Add user assignment capability in ticket create/edit forms +- [ ] Implement ticket filtering (by status, assignee, project) +- [ ] Improve UI feedback for ticket soft-delete +- [ ] Ensure metadata, attachments, and comments update properly on edit +- [ ] Add tag support for tickets (UI and DB updates) +- [ ] Implement ticket history for status/priority changes +- [ ] Add comment thread display on ticket edit view +- [ ] Update "new ticket" template to match the edit form +- [ ] Enable linking tickets using markdown shortcodes (e.g. `#ticket-id` autocomplete) + +--- + +## ๐ Project Management +- [ ] Implement `ProjectController::create()` and `update()` logic +- [ ] Add CRUD for: + - [ ] `project_tasks` (task list under project) + - [ ] `project_links` (related links/resources) + - [ ] `project_events` (project timeline/log) +- [ ] Show tickets related to a project in the project view page + +--- + +## ๐ Knowledge Base (KB) +- [ ] Display and edit tags for each article +- [ ] Show article creator and last updated info +- [ ] Add search suggestions or recent articles on main KB page + +--- + +## ๐ค User Management +- [ ] Implement full CRUD in `Admin\UserController` +- [ ] Add role selection to user creation/edit forms +- [ ] Restrict sensitive actions (ticket edit/delete) to owner or admin + +--- + +## โ๏ธ Admin Panel +- [ ] Complete admin routes and views for ticket status management +- [ ] Add dashboard widgets (open tickets count, recent updates, etc.) +- [ ] Create settings/config view to manage global app options + +--- + +## ๐ฆ UI & UX Polish +- [ ] Show success/error alerts for all user actions +- [ ] Apply consistent Bulma styling to forms, buttons, and messages +- [ ] Add loading indicators or skeletons on longer actions +- [ ] Embed `/public/test.md.php` JS markdown editor into edit/create ticket templates +- [ ] Add smart shortcuts to markdown editor: + - [ ] `#` opens ticket linking modal + - [ ] `@` opens user tagging modal + - [ ] `!a` opens hyperlink creation modal + +--- + +## ๐งช Quality Assurance +- [ ] Create fake/test data seeder +- [ ] Add DB integrity checks for tickets, users, and project FK links +- [ ] Manually test: + - [ ] Login/logout + - [ ] Ticket create/edit/delete + - [ ] KB CRUD + - [ ] Attachment upload/download +- [ ] Audit all routes and controllers for authentication and access checks + +--- + +## ๐ Search & Indexing +- [ ] Improve full-text search to be smarter than `LIKE %{query}%` +- [ ] Add partial, fuzzy, and prioritised relevance to results (e.g. `title > tags > content`) + +--- + +## ๐ Timeline & Activity Views +- [ ] Create timeline view per ticket using: + - [ ] status/priority history + - [ ] comments + - [ ] attachments and other actions +- [ ] Build global timeline dashboard to see activity across system +- [ ] Implement calendar heatmap (e.g. GitHub-style) for activity tracking +- [ ] Add drilldown support from calendar to view specific actions on each day +- [ ] Add detailed log/summary of: + - [ ] ticket creation/updates + - [ ] project creation/updates + - [ ] assignments + - [ ] comments + - [ ] closures + +--- + +## ๐ Security & Session +- [ ] Add CSRF protection for all POST forms +- [ ] Enforce permission checks on: + - [ ] Ticket edits + - [ ] Comment deletion + - [ ] Attachment deletion +- [ ] Add password reset flow or admin-reset function + +--- + +## ๐ Post-MVP (Optional Enhancements) +- [ ] Ticket due dates and reminders +- [ ] Kanban or Gantt-style project view +- [ ] REST API endpoints + +--- diff --git a/ui/partials/ticket_item.html b/app/ui/partials/ticket_item.html similarity index 100% rename from ui/partials/ticket_item.html rename to app/ui/partials/ticket_item.html diff --git a/ui/parts/clipboard.html b/app/ui/parts/clipboard.html similarity index 100% rename from ui/parts/clipboard.html rename to app/ui/parts/clipboard.html diff --git a/ui/session/error.html b/app/ui/session/error.html similarity index 100% rename from ui/session/error.html rename to app/ui/session/error.html diff --git a/ui/templates/layout.html b/app/ui/templates/layout.html similarity index 98% rename from ui/templates/layout.html rename to app/ui/templates/layout.html index 1f77bce..e9e83c1 100644 --- a/ui/templates/layout.html +++ b/app/ui/templates/layout.html @@ -92,7 +92,7 @@