-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
SyncRoot is built in 15 phases, one at a time, each reviewed before the next starts. See Development Workflow for the process itself.
| Phase | Scope | Status |
|---|---|---|
| 0 | Planning & architecture | ✅ Done |
| 1 | Project initialization & tooling | ✅ Done |
| 2 | Database schema, migrations, seed | ✅ Done |
| 3 | Backend foundation (modules, middleware, Project module) | ✅ Done |
| 4 | Frontend foundation (layout, routing, theme, reusable components) | ✅ Done |
| 5 | Dashboard (project cards, search, stats, recent activity, CRUD) | ✅ Done |
| 6 | Project Workspace (header, tab shell) | ✅ Done |
| 7 | Task System (board, priority, due date, status) | ✅ Done |
| 8 | Todo System (checklist, completion tracking, reordering) | ✅ Done |
| 9 | Comment System | ⏳ Next |
| 10 | File Manager | Not started |
| 11 | Activity System (full timeline UI) | Not started |
| 12 | Search | Not started |
| 13 | Settings | Not started |
| 14 | PWA (offline, full icon set, install prompt) | Not started |
| 15 | Optimization, security review, deployment prep | Not started |
| Milestone | When |
|---|---|
| Barebones usable — create a project, add tasks, add todos, see it all in the UI | Reached, end of Phase 8 |
| Full original spec | End of Phase 13 |
| Production-hardened | End of Phase 15 |
Architecture, folder structure, tech decisions, roadmap, UI/DB/API strategy.
npm workspaces scaffold, Vite+React+Tailwind v4, Express+TS skeleton, Prisma init (schema skeleton only), ESLint/Prettier, design tokens, PWA plugin registration (not full PWA), README.
Full Prisma schema (User, Project, Task, Todo, Comment,
FileAsset, Activity), initial migration SQL, seed script, pagination
utilities (offset + cursor). See Data Model.
Express server assembly, resolveCurrentUser + validate middleware,
Users and Activity modules (internal, no routes), full Projects
module (CRUD, soft-delete, pagination, Activity logging) as the
reference implementation for every module after it.
AppLayout (responsive Sidebar + Navbar), real route tree (/,
/projects/:id, /settings), NameGate first-launch flow, reusable
Button/Input/Modal/GlassCard primitives.
Project cards, create/edit/delete modals, debounced search, StatsBar,
RecentActivityList backed by GET /api/activity/recent.
Page shell: project header (name, description, color, edit-in-place) + a tab strip (Board/Todos/Comments/Files/Activity) with placeholders for content Phases 7–11 fill in.
Create, Edit, Delete, Move Status, Priority, Due Date, board-level completion progress. Move Status is a dropdown, not drag-and-drop — see Known Limitations.
Checkbox, Sorting (up/down buttons, not drag-and-drop), Editing, Deleting, Completion Tracking. Project-level in the UI; task-scoped support exists end-to-end in the backend already. This is the "barebones usable" milestone.
Create, Edit, Delete, Timestamps, Author, on Project, Task, or Todo (the CHECK constraint already exists in the schema).
Upload, Download, Preview, Metadata, Storage — wiring the
StorageProvider/LocalStorageProvider (already built in Phase 1) to
real routes and UI.
The full, filterable, paginated Activity Timeline UI inside the Project
Workspace. Most of the recording already happens — every service calls
activityService.record() after mutations — this phase is the
timeline UI.
Global search across Projects, Tasks, Todos, Comments, Files.
Username (already works), Appearance, Storage, Preferences.
Offline support, full Manifest, real icon set (192/512 PNG + maskable — only one SVG icon exists as of Phase 1), Install Prompt, Caching strategy.
Performance (code-splitting — the client bundle is ~540KB as of Phase
8), Accessibility, Security review (see SECURITY.md's known accepted
risks — no auth, no rate limiting), Code Cleanup, Production Build,
Documentation Review, Final Testing, Deployment Prep.
Every phase has a corresponding handoffs/PHASE_N_HANDOFF.md in the main
repo with the full reasoning behind every non-obvious decision, every bug
found and fixed, and exactly what to read before starting the next phase.
Read the highest-numbered one first — each supersedes the last.
SyncRoot · pre-1.0, phase-by-phase development · see SECURITY.md before deploying anywhere public
Using SyncRoot
How it's built
Project status
Working on SyncRoot