tp_servicedesk/app/ui/issues.md
2025-05-10 08:53:28 +01:00

115 lines
3.6 KiB
Markdown

# 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
- [x] Display assigned user in ticket view
- [x] 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
- [x] 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:
- [x] Login/logout
- [x] 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
- [x] 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
---