# 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 ---