feat: complete MVP setup with CI/CD, Makefile, docker, and backlog docs
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
# RSSPipe Backlog Specification (`003_backlog.md`)
|
||||
|
||||
This document records planned features, UX enhancements, and architectural extensions identified during initial testing and validation.
|
||||
|
||||
---
|
||||
|
||||
## 1. Search Box Auto-Complete & Real-Time Suggestions
|
||||
|
||||
- **Goal**: Enable rich auto-complete and search suggestion dropdown as the user types in the global search bar.
|
||||
- **Scope**:
|
||||
- Auto-suggest matches across article titles, feed names, author tags, and category labels.
|
||||
- Keyboard navigation within search dropdown (`ArrowDown`, `ArrowUp`, `Enter` to jump directly to article or feed).
|
||||
- Search history / recent queries quick access.
|
||||
|
||||
---
|
||||
|
||||
## 2. Password Management in User Settings
|
||||
|
||||
- **Goal**: Allow the single-user administrator to update their login credentials directly from `Settings > Account & System`.
|
||||
- **Scope**:
|
||||
- Backend API: `PUT /api/auth/password` verifying `old_password` and updating bcrypt hash for `new_password`.
|
||||
- Frontend Modal/Card with confirmation field and clear validation indicators.
|
||||
|
||||
---
|
||||
|
||||
## 3. Comprehensive Keyboard Shortcuts Test Suite
|
||||
|
||||
- **Goal**: Automated end-to-end and unit testing for all single-key power-user navigation bindings.
|
||||
- **Scope**:
|
||||
- `j` / `k`: Next / previous article navigation.
|
||||
- `s`: Toggle star.
|
||||
- `m`: Toggle read status.
|
||||
- `e`: Archive / mark read and advance.
|
||||
- `v`: Open original URL in new browser tab.
|
||||
- `[`: Toggle sidebar collapse/expand.
|
||||
- `r`: Trigger feed refresh.
|
||||
- `a`: Open Add Feed modal.
|
||||
- `1`, `2`, `3`: Switch views (3-Split, Waterfall, Settings).
|
||||
- `?`: Open keyboard shortcuts cheatsheet modal.
|
||||
- `Shift + A`: Mark all as read with confirmation.
|
||||
- Ensure shortcuts are strictly inhibited when focus is inside text inputs, textareas, or modal forms.
|
||||
|
||||
---
|
||||
|
||||
## 4. Header Brand & Sidebar Toggle Alignment Consistency
|
||||
|
||||
- **Goal**: Standardize the top header layout across all view modes (3-Split, Waterfall, and Settings).
|
||||
- **Scope**:
|
||||
- In 3-Split view, ensure the RSSPipe logo and brand name occupy the consistent leftmost position matching Waterfall and Settings views.
|
||||
- Ensure the sidebar toggle icon `[` integrates cleanly into the left group or toolbar without disrupting brand alignment.
|
||||
|
||||
---
|
||||
|
||||
## 5. Refresh Button Spinning Micro-Animation
|
||||
|
||||
- **Goal**: Provide instant visual feedback when a background refresh or manual pull is in progress.
|
||||
- **Scope**:
|
||||
- Add smooth CSS keyframe spin animation (`@keyframes spin { 100% { transform: rotate(360deg); } }`) to the refresh icon when `isRefreshing` is active.
|
||||
|
||||
---
|
||||
|
||||
## 6. Feed Favicon & Website Icon Scraping / Upload
|
||||
|
||||
- **Goal**: Enhance visual recognition by displaying brand icons next to each feed.
|
||||
- **Scope**:
|
||||
- **Auto-Scraper**: Automatically fetch and cache `favicon.ico`, `<link rel="icon">`, or `<link rel="apple-touch-icon">` from the feed's website root during initial subscription.
|
||||
- **Manual Customization**: Allow uploading or specifying a custom icon URL in `Settings > Subscriptions > Edit Feed`.
|
||||
|
||||
---
|
||||
|
||||
## 7. Active Post Reading Persistence on Subscription Switch
|
||||
|
||||
- **Goal**: Prevent reader disruption when exploring other subscriptions.
|
||||
- **Scope**:
|
||||
- When actively reading an article in the right canvas of 3-Split view, clicking a different subscription or category in the left sidebar should update the middle article list *without* abruptly closing or reloading the active article in the right canvas until a new article is explicitly selected.
|
||||
|
||||
---
|
||||
|
||||
## 8. Unified Feed & Category Tree Hierarchy ("Feeds" Root)
|
||||
|
||||
- **Goal**: Simplify feed organization into a single clean hierarchy.
|
||||
- **Scope**:
|
||||
- Eliminate the artificial separation between "Categorized Feeds" and "Uncategorized Feeds".
|
||||
- Present a single unified **"Feeds"** section where uncategorized feeds reside at the root level alongside collapsible category folders.
|
||||
- Drag-and-drop or simple dropdown assignment to move feeds between root and folders.
|
||||
|
||||
---
|
||||
|
||||
## 9. Enhanced Xiaohongshu Masonry Waterfall Experience
|
||||
|
||||
- **Goal**: Further elevate the card aesthetics and mobile interaction to closely match Xiaohongshu.
|
||||
- **Scope**:
|
||||
- Staggered dynamic aspect ratios with prominent media cards.
|
||||
- Smooth infinite scroll pagination.
|
||||
- Interactive gesture swipe to dismiss the full-screen reader.
|
||||
Reference in New Issue
Block a user