101 lines
3.7 KiB
HTML
101 lines
3.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Backlog - Roject</title>
|
|
<link rel="stylesheet" href="../_assets_/styles.css">
|
|
<link rel="stylesheet" href="../_assets_/nav.css">
|
|
<link rel="stylesheet" href="../_assets_/boards.css">
|
|
</head>
|
|
<body>
|
|
<div class="board-page">
|
|
|
|
<header>
|
|
<p class="date">Board</p>
|
|
<h1>Backlog</h1>
|
|
<p class="subtitle">Big visions and user stories. Too complex or vague for tasks, but important for direction.</p>
|
|
</header>
|
|
|
|
<div class="board">
|
|
|
|
<div class="lane">
|
|
<div class="lane-header">MVP</div>
|
|
|
|
<task-item class="blue hide-content">
|
|
<task-title>Local testing solution for the whole rokojori network</task-title>
|
|
<task-content>
|
|
A local dev setup that runs all services together: rokojori-auth, styles, tunnel,
|
|
and roject. Needs hosts file entries for *.local.rokojori.com subdomains so auth
|
|
cookies flow correctly, per-service .env.local files pointing at each other, and
|
|
a startup script to launch everything at once. Optionally a local reverse proxy
|
|
(Caddy) to avoid port numbers in URLs. Currently, the Electron app is the preferred
|
|
workaround for local testing since it injects auth headers directly.
|
|
</task-content>
|
|
</task-item>
|
|
|
|
<task-item class="blue hide-content">
|
|
<task-title>Local Git Repository Integration</task-title>
|
|
<task-content>
|
|
Git integration inside the editor: file status indicators in the tree, staging,
|
|
commit, push, pull, diffs, and history. Depends on local filesystem access.
|
|
Once Roject can open an arbitrary local directory, the git repo is already there.
|
|
Implementation via simple-git (thin Node.js wrapper around the git CLI).
|
|
</task-content>
|
|
</task-item>
|
|
|
|
</div>
|
|
|
|
<div class="lane">
|
|
<div class="lane-header">Nice To Have</div>
|
|
|
|
<task-item class="purple hide-content">
|
|
<task-title>Real-Time Multi-User Collaboration</task-title>
|
|
<task-content>
|
|
Multiple users editing the same file simultaneously with presence indicators
|
|
and conflict resolution. Likely via operational transforms or CRDTs.
|
|
Significant architecture work; not planned for the near term.
|
|
</task-content>
|
|
</task-item>
|
|
|
|
</div>
|
|
|
|
<div class="lane">
|
|
<div class="lane-header">To The Moon</div>
|
|
|
|
<task-item class="orange hide-content">
|
|
<task-title>Mobile App (PWA first, native shell later)</task-title>
|
|
<task-content>
|
|
Make Roject usable on a phone or tablet. Quickest path: PWA with a manifest
|
|
and service worker — works in Safari and Chrome on Android and iOS without an
|
|
app store. If native capabilities are later needed, Capacitor can wrap the same
|
|
web app. A React Native or Flutter rewrite is not planned.
|
|
The realistic mobile workflow is browsing files, reading output, and light edits
|
|
rather than heavy coding.
|
|
</task-content>
|
|
</task-item>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<footer>
|
|
Roject — backlog
|
|
</footer>
|
|
|
|
</div>
|
|
<script>var NAV_ROOT = '../';</script>
|
|
<script src="../_assets_/nav-data.js"></script>
|
|
<script src="../_assets_/nav.js"></script>
|
|
<script>
|
|
document.querySelectorAll( 'task-title' ).forEach( title =>
|
|
{
|
|
title.addEventListener( 'click', () =>
|
|
{
|
|
title.closest( 'task-item' ).classList.toggle( 'hide-content' );
|
|
} );
|
|
} );
|
|
</script>
|
|
</body>
|
|
</html>
|