docs: define v1 requirements
21 requirements across 5 categories 7 requirements deferred to v2 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
108
.planning/REQUIREMENTS.md
Normal file
108
.planning/REQUIREMENTS.md
Normal file
@@ -0,0 +1,108 @@
|
||||
# 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*
|
||||
Reference in New Issue
Block a user