Files
HostKeeper/docs/v2/TIMELINE.md
T
2026-07-07 11:53:16 +07:00

11 KiB

Hostkeeper V2 — Timeline & Milestones

Status: V2 Planning Complete Last Updated: 2026-06-29 Start Date: 2026-06-30 (estimated) Target MVP: 2026-08-07 (estimated)


1. Timeline Overview

Total estimated: 25-30 working days (~6 minggu calendar, 1-2 minggu buffer)

Minggu 1  │ Sprint 0 ─ Sprint 1 ─ │──── Foundation
Minggu 2  │ Sprint 2 ─────────────│──── Core (Terminal)
Minggu 3  │ Sprint 3 ─────────────│──── SFTP + Polish
Minggu 4  │ Sprint 4 ─────────────│──── Advanced
Minggu 5  │ Sprint 5 ── Buffer ───│──── Polish + Release
          └────────────────────────┘
          26 Jun   10 Jul   24 Jul   7 Aug

2. Detailed Timeline

Phase 0: Foundation (Sprint 0 + Sprint 1)

6 working days — 30 Jun s.d. 7 Jul

Day Date Sprint Deliverable Milestone
1 30 Jun Sprint 0 Go module, Electron shell, Vite scaffold App starts, shows "Hostkeeper V2"
2 1 Jul Sprint 0 Health endpoint, middleware, build script curl /api/health returns OK
3 2 Jul Sprint 1 Host CRUD API (6 endpoints) curl POST /api/hosts returns 201
4 3 Jul Sprint 1 Key + Snippet CRUD API All CRUD works via curl
5 4 Jul Sprint 1 Groups + Config + Vault API Group tree returned
6 7 Jul Sprint 1 Web UI scaffold (layout, router, theme) Navigation works, sidebar visible

Milestone M1 — API Complete (7 Jul)

  • All REST API endpoints functional
  • Storage integration with V1 pkg/storage
  • Web UI layout renders

Phase 1: Core Features (Sprint 2)

5 working days — 8 Jul s.d. 14 Jul

Day Date Deliverable Milestone
7 8 Jul Host List screen + HostForm UI Add/edit host from browser
8 9 Jul HostForm: auth, tags, group picker All form fields work
9 10 Jul WebSocket handler (Go) Terminal WS connects
10 11 Jul XTermWrapper + terminal UI Terminal renders, keystrokes work
11 14 Jul TabBar + multi-tab + snippet panel Multi-tab terminal with snippets

Milestone M2 — Terminal Works (14 Jul)

  • SSH terminal via WebSocket
  • Multi-tab support
  • Snippet injection

Phase 2: SFTP + Security (Sprint 3)

5 working days — 15 Jul s.d. 21 Jul

Day Date Deliverable Milestone
12 15 Jul SFTP REST handlers (ls, upload, download) SFTP API works via curl
13 16 Jul SFTP: mkdir, rm, rename, chmod File operations work
14 17 Jul SFTPScreen + dual pane UI SFTP browser functional
15 18 Jul Vault unlock + known hosts dialog Security flow works
16 21 Jul Settings screen (all tabs) Settings persist

Milestone M3 — SFTP + Vault (21 Jul)

  • SFTP file browser with upload/download
  • Vault lock/unlock flow
  • Settings customization

Phase 3: Advanced Features (Sprint 4)

5 working days — 22 Jul s.d. 28 Jul

Day Date Deliverable Milestone
17 22 Jul PortForward CRUD + local tunnel Local port forward works
18 23 Jul Remote + dynamic forwarding All forward types work
19 24 Jul Import: SSH config + CSV parser Bulk import works
20 25 Jul Export: all data encrypted Export/import round-trip
21 28 Jul Jump host + proxy support Multi-hop SSH works

Milestone M4 — Advanced Complete (28 Jul)

  • Port forwarding (local/remote/dynamic)
  • Import/export
  • Jump hosts + proxy

Phase 4: Polish & Release (Sprint 5)

5 working days — 29 Jul s.d. 4 Aug

Day Date Deliverable Milestone
22 29 Jul Electron: menu, tray, shortcuts Desktop polish complete
23 30 Jul OS Keychain + auto-update Keychain integration
24 31 Jul Performance optimization 1000 hosts smooth, memory < 200MB
25 1 Aug Android gomobile + WebView Android app runs
26 4 Aug iOS gomobile + WKWebView iOS app runs

Milestone M5 — Release Candidate (4 Aug)

  • All features complete
  • Desktop and mobile builds
  • Performance targets met

Buffer: 3 days (5 Aug s.d. 7 Aug)

Day Date Activity
27 5 Aug Bug fixes from integration testing
28 6 Aug Documentation finalization
29 7 Aug Release v2.0.0

Milestone M6 — v2.0.0 Release (7 Aug)

  • All platforms built and signed
  • Release notes complete
  • Artifacts uploaded to GitHub

3. Critical Path

Sprint 0 ── Sprint 1 ── Sprint 2 ── Sprint 5 ── Release
  1 day       5 days      5 days      5 days      3 days
  ─────────────────────────────────────────────────────────
  19 days minimum (no parallel work)

Parallel Work Opportunities

Sprint Can run in parallel with Notes
Sprint 1 Must complete before Sprint 2
Sprint 2 Must complete before Sprint 3/4/5
Sprint 3 Sprint 4 SFTP ≠ Port forwarding, different files
Sprint 4 Sprint 3 Independent features
Sprint 5 Sprint 3, Sprint 4 Desktop polish can start early

Optimistic timeline (with parallelism): 22 days Conservative timeline (sequential): 29 days


4. Dependency Graph

Sprint 0 (Scaffolding)
  │
  ▼
Sprint 1 (Foundation API)
  │
  ▼
Sprint 2 (SSH Terminal) ⭐ CRITICAL PATH
  │
  ├────▶ Sprint 3 (SFTP + Security) ────▶ Sprint 5 (Desktop Polish)
  │                                                │
  └────▶ Sprint 4 (Advanced)           ────────────┘
                                                      │
                                                      ▼
                                                  Release v2.0.0

Critical path: Sprint 0 → Sprint 1 → Sprint 2 → Sprint 5 → Release

Fastest possible: 22 hari (Sprint 3 + 4 done in parallel with Sprint 5)


5. Milestone Summary

Milestone Date Deliverable Dependency
M1 7 Jul All REST API endpoints + Web UI scaffold Sprint 0 + Sprint 1
M2 14 Jul SSH terminal with multi-tab M1
M3 21 Jul SFTP browser + vault + settings M2
M4 28 Jul Port forwarding + import/export + jump hosts M2
M5 4 Aug Desktop polish + mobile apps M2, M3, M4
M6 7 Aug v2.0.0 Release M5

6. Weekly Breakdown

Week 1 (30 Jun - 4 Jul) — Foundation

Mon 30: [Sprint 0] Go scaffold + Electron shell
Tue  1: [Sprint 0] Build script + middleware
Wed  2: [Sprint 1] Host CRUD API
Thu  3: [Sprint 1] Key + Snippet CRUD API
Fri  4: [Sprint 1] Groups + Config + Vault API

Week 2 (7 Jul - 11 Jul) — API + UI Scaffold

Mon  7: [Sprint 1] Web UI scaffold (layout, router, theme)    ← M1
Tue  8: [Sprint 2] Host List screen + HostForm
Wed  9: [Sprint 2] HostForm complete (auth, tags, groups)
Thu 10: [Sprint 2] WebSocket handler (Go)
Fri 11: [Sprint 2] XTermWrapper + terminal rendering

Week 3 (14 Jul - 18 Jul) — Terminal + SFTP

Mon 14: [Sprint 2] TabBar + multi-tab + snippet panel          ← M2
Tue 15: [Sprint 3] SFTP REST handlers
Wed 16: [Sprint 3] File operations (mkdir, rm, rename)
Thu 17: [Sprint 3] SFTPScreen + dual pane UI
Fri 18: [Sprint 3] Vault unlock + known hosts dialog

Week 4 (21 Jul - 25 Jul) — SFTP Settings + Advanced

Mon 21: [Sprint 3] Settings screen (all tabs)                  ← M3
Tue 22: [Sprint 4] PortForward CRUD + local tunnel
Wed 23: [Sprint 4] Remote + dynamic forwarding
Thu 24: [Sprint 4] Import (SSH config, CSV)
Fri 25: [Sprint 4] Export + jump hosts

Week 5 (28 Jul - 1 Aug) — Advanced + Polish

Mon 28: [Sprint 4] Proxy support                               ← M4
Tue 29: [Sprint 5] Electron: menu, tray, shortcuts
Wed 30: [Sprint 5] OS Keychain + auto-update
Thu 31: [Sprint 5] Performance optimization
Fri  1: [Sprint 5] Android gomobile + WebView

Week 6 (4 Aug - 7 Aug) — Mobile + Release

Mon  4: [Sprint 5] iOS gomobile + WKWebView                    ← M5
Tue  5: [Buffer] Bug fixes
Wed  6: [Buffer] Documentation
Thu  7: [Release] v2.0.0                                       ← M6

7. Risk Buffer

Risk Impact Probability Mitigation Buffer needed
Terminal WebSocket complexity High Medium Use proven pattern from docs +1 day
Mobile gomobile compilation Medium Medium Start early, test on emulator +1 day
Electron auto-update signing Medium Low Prepare certificates early
Performance issues (1000 hosts) Medium Low Virtual scrolling already planned
Unknown V1 package compatibility Low Low V1 packages are framework-agnostic
UX polish takes longer Medium Medium Prioritize function over beauty +1 day

Total buffer: 3 days (included in timeline as 5-7 Aug)


8. Effort by Technology

Technology Days % of total Sprint
Go (backend) 10 34% S0, S1, S2, S3, S4
React/TypeScript (frontend) 10 34% S1, S2, S3, S4, S5
Electron (desktop) 3 10% S0, S5
Mobile (gomobile + WebView) 2 7% S3, S5
DevOps (build, CI/CD) 2 7% S0, S5
Testing + bug fixes 2 7% All
Total 29 100%

9. What NOT in Scope (Post-MVP)

Feature Reason
Cloud sync Requires backend server, Phase 3
Team vault Requires multi-user auth, Phase 3
Multiplayer terminal Requires relay server, Phase 3
AI command generation LLM API integration, nice-to-have
Serial console Niche use case, low priority
Mosh support Requires additional library
Telnet support Legacy protocol, low priority

10. Progress Tracking

How to update this timeline:

  1. At the end of each day, mark [x] for completed tasks
  2. If a task takes longer, adjust subsequent dates
  3. Update docs/v2/PROGRESS.md with actual completion dates
### Week 1 Progress
[x] Mon 30 Jun: [Sprint 0] Go scaffold + Electron shell
[ ] Tue  1 Jul: [Sprint 0] Build script + middleware
[ ] Wed  2 Jul: [Sprint 1] Host CRUD API
[ ] Thu  3 Jul: [Sprint 1] Key + Snippet CRUD API
[ ] Fri  4 Jul: [Sprint 1] Groups + Config + Vault API

Target: v2.0.0 Release by 7 August 2026 Best case: 22 July (parallel work, no blockers) Worst case: 14 August (1 week buffer used + delays)