21 requirements across 5 categories 7 requirements deferred to v2 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3.2 KiB
3.2 KiB
Requirements: Pirate Station
Defined: 2026-02-03 Core Value: Users can securely access and manage files on the Pi from anywhere via the web, with the server completely isolated to its designated storage directory.
v1 Requirements
Requirements for initial release. Each maps to roadmap phases.
Authentication
- AUTH-01: User can log in with username and password
- AUTH-02: Passwords stored with secure hashing (bcrypt/argon2)
- AUTH-03: JWT tokens for session management
- AUTH-04: User can log out
CLI Tool
- CLI-01: Admin can create user account with username/password
- CLI-02: Admin can delete user account
- CLI-03: Admin can change user password
- CLI-04: Admin can list all users
File Operations
- FILE-01: User can browse folders and see file listing
- FILE-02: User can upload files
- FILE-03: User can download files
- FILE-04: User can delete files and folders
- FILE-05: User can create folders
- FILE-06: User can rename files and folders
- FILE-07: User can move files and folders
Web UI
- UI-01: Current path displayed (non-clickable)
- UI-02:
..entry for navigating up one directory - UI-03: File sizes displayed in listing
- UI-04: Upload progress indicator
Infrastructure
- INFRA-01: Docker container runs isolated to mounted volume only
- INFRA-02: Single binary Go backend
v2 Requirements
Deferred to future release. Tracked but not in current roadmap.
UI Enhancements
- UI-05: Drag-and-drop file upload
- UI-06: Responsive mobile design
- UI-07: Clickable breadcrumb navigation
Features
- FEAT-01: File preview (images, text, video)
- FEAT-02: Bulk file selection and operations
Out of Scope
Explicitly excluded. Documented to prevent scope creep.
| Feature | Reason |
|---|---|
| Self-registration | Security — admin creates accounts via CLI only |
| Web admin panel | Simplicity — CLI is sufficient for small user base |
| Per-user private folders | Not needed — trusted group shares one space |
| File preview/streaming | Complexity — just upload, download, manage |
| Tailscale integration | User constraint — using frpc/rathole instead |
Traceability
Which phases cover which requirements. Updated during roadmap creation.
| Requirement | Phase | Status |
|---|---|---|
| AUTH-01 | TBD | Pending |
| AUTH-02 | TBD | Pending |
| AUTH-03 | TBD | Pending |
| AUTH-04 | TBD | Pending |
| CLI-01 | TBD | Pending |
| CLI-02 | TBD | Pending |
| CLI-03 | TBD | Pending |
| CLI-04 | TBD | Pending |
| FILE-01 | TBD | Pending |
| FILE-02 | TBD | Pending |
| FILE-03 | TBD | Pending |
| FILE-04 | TBD | Pending |
| FILE-05 | TBD | Pending |
| FILE-06 | TBD | Pending |
| FILE-07 | TBD | Pending |
| UI-01 | TBD | Pending |
| UI-02 | TBD | Pending |
| UI-03 | TBD | Pending |
| UI-04 | TBD | Pending |
| INFRA-01 | TBD | Pending |
| INFRA-02 | TBD | Pending |
Coverage:
- v1 requirements: 21 total
- Mapped to phases: 0
- Unmapped: 21 (pending roadmap)
Requirements defined: 2026-02-03 Last updated: 2026-02-03 after initial definition