initial project commit

This commit is contained in:
tp_dhu 2025-02-17 01:22:07 +00:00
parent 68ef649451
commit 6e6bae7e1d
5 changed files with 172 additions and 1 deletions

View File

@ -0,0 +1,29 @@
<?php
class ProjectController implements CRUD {
use RequiresAuth;
// list all projects
public function index($f3){
$this->check_access($f3);
$f3->set('content', '../ui/views/project/index.html');
echo \Template::instance()->render('../ui/templates/layout.html');
}
// create a new project
public function createForm($f3){
}
public function create($f3){
}
// show project details including links, tickets, events, tasks
public function view($f3){}
// update project details
public function editForm($f3){}
public function update($f3){}
}

View File

@ -84,8 +84,15 @@ $f3->route('POST /parsedown/preview', 'ParsedownPreview->view');
// dashboard // dashboard
$f3->route('GET /dashboard', 'DashboardController->index'); $f3->route('GET /dashboard', 'DashboardController->index');
// projects
$f3->route('GET /projects', 'ProjectController->index');
$f3->route('GET /project/@id', 'ProjectController->view');
$f3->route('GET /project/create', 'ProjectController->createForm');
$f3->route('POST /project/create', 'ProjectController->create');
$f3->route('GET /project/@id/edit', 'ProjectController->editForm');
$f3->route('POST /project/@id/update', 'ProjectController->update');
// additional routes // additional routes - user
$f3->route('GET /users', 'UserController->index'); $f3->route('GET /users', 'UserController->index');
$f3->route('GET /user/@id/edit', 'UserController->editForm'); $f3->route('GET /user/@id/edit', 'UserController->editForm');
$f3->route('POST /user/@id/update', 'UserController->update'); $f3->route('POST /user/@id/update', 'UserController->update');

View File

@ -42,6 +42,7 @@
<div id="mainNavbar" class="navbar-menu"> <div id="mainNavbar" class="navbar-menu">
<div class="navbar-start"> <div class="navbar-start">
<a class="navbar-item" href="/dashboard">Dashboard</a> <a class="navbar-item" href="/dashboard">Dashboard</a>
<a class="navbar-item" href="/projects">Projects</a>
<a class="navbar-item" href="/tickets">Tickets</a> <a class="navbar-item" href="/tickets">Tickets</a>
<a class="navbar-item" href="/kb">Knowledge Base</a> <a class="navbar-item" href="/kb">Knowledge Base</a>
<a class="navbar-item" href="/tags">Tags</a> <a class="navbar-item" href="/tags">Tags</a>

134
ui/views/project/index.html Normal file
View File

@ -0,0 +1,134 @@
<h3 class="title">Projects</h3>
<table class="table is-fullwidth is-hoverable is-bordered">
<thead>
<tr class="is-primary">
<th>ID</th>
<th>Title</th>
<th>Requester</th>
<th>Created By</th>
<th>Created At</th>
<th>Start Date</th>
<th>End Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>{id}</td>
<td>{title}</td>
<td>{requester}</td>
<td>{created_by}</td>
<td>{created_at}</td>
<td>{start_date}</td>
<td>{end_date}</td>
</tr>
</tbody>
</table>
<hr>
<h3 class="title">Project {NAME}</h3>
<div class="columns">
<div class="column is-two-thirds">
<h3 class="title subtitle">Overview</h3>
<div class="skeleton-lines">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
<div class="column">
<div class="block">
<h3 class="title subtitle">Links</h3>
<div class="skeleton-lines">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
</div>
</div>
<hr>
<div class="columns">
<div class="column">
<h3 class="title subtitle">Tickets</h3>
<div class="skeleton-lines">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
<div class="column">
<h3 class="title subtitle">Tasks</h3>
<div class="skeleton-lines">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
<div class="column">
<h3 class="title subtitle">Events</h3>
<div class="skeleton-lines">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
</div>
<hr>
<div class="columns">
<div class="column">
<h3 class="title">Timeline</h3>
<div class="skeleton-lines">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
</div>
<parsedown inline="true">
---
## View project
A central place to see everything for this project:
- Overview: (title, description, links, start/end dates).
- related tickets (with status and priorities)
- events
- tasks
- timeline combining events, tickets, milestone dates
## Example Workflow
- create a project - `team manager overview`
-- attach relevant links
- add tickets - each new request or issue can be a ticket referencing this project
- add events - quick notes about management meetings, or verbal discussions that don't need ticket overhead
-- meeting on 01 jan to discuss layout
-- teams message on 28 jan clarifying data requirements
- project tasks - for smaller to do items that don't warrant a full ticket
-- identify location of required data, create initial pq connections, build a mockup layout
## Reporting Timelines
- timeline view - merge ticket data with project_events sorted by date - chronological Overview
- status summaries - how many tickets open, on hold, completed
- progress tracking - sumarries or gantt style charts
</parsedown>

View File