- Header: Change 'Data Station' to 'RTU', use TCK logo, fix sizing - Sidebar: MENU text now clickable to collapse/expand - RainfallView: Fit 1024x600 without scrolling - GraphView: Fit 1024x600 screen
138 lines
4.3 KiB
Markdown
138 lines
4.3 KiB
Markdown
# Project State
|
|
|
|
**Project:** TCKRTUIYO - RTU Web Interface
|
|
**Created:** 2026-03-13
|
|
**Status:** Roadmap Created - Awaiting Phase 1 Planning
|
|
|
|
---
|
|
|
|
## Project Reference
|
|
|
|
**Core Value:** Real-time rainfall and sensor monitoring with local display and server data transmission.
|
|
|
|
**Target Hardware:** Raspberry Pi Zero 2 W / 3B + 7" capacitive touchscreen (1024x600)
|
|
|
|
**Critical Constraints:**
|
|
- Performance: Must run smoothly on Pi Zero 2 W (1GHz quad-core, 512MB RAM)
|
|
- Bundle size: <200KB initial JS gzipped
|
|
- Display: Fixed 1024x600 for kiosk, responsive for Full HD remote
|
|
- Browser: Chromium Kiosk Mode only
|
|
|
|
---
|
|
|
|
## Current Position
|
|
|
|
```
|
|
[====================] 0% - ROADMAP CREATED
|
|
Phase: 0/3
|
|
Plan: 0/0
|
|
Status: Ready to begin Phase 1
|
|
```
|
|
|
|
### Phase Status
|
|
|
|
| Phase | Status | Progress | Started | Target Complete |
|
|
|-------|--------|----------|---------|-----------------|
|
|
| 1. Foundation & Dashboard | Not started | 0% | - | - |
|
|
| 2. Settings Framework & Core Configuration | Blocked | 0% | - | - |
|
|
| 3. Data Management & Network Stack | Blocked | 0% | - | - |
|
|
|
|
---
|
|
|
|
## Current Focus
|
|
|
|
**Next Action:** Plan Phase 1 - Foundation & Dashboard
|
|
|
|
**Phase 1 Goal:** Users can view real-time rainfall, voltage, and station status on a modern, performant dashboard optimized for 7" touchscreen display.
|
|
|
|
**Key Deliverables:**
|
|
- Modern dashboard with real-time sensor display
|
|
- Performance optimization for Pi Zero 2 W (<200KB bundle)
|
|
- Touch-optimized UI (44px+ targets)
|
|
- Dual-mode display (1024x600 kiosk + Full HD remote)
|
|
- Navigation to Settings, Calibration, and Flash Memory
|
|
|
|
---
|
|
|
|
## Performance Metrics
|
|
|
|
**Bundle Size Budget:**
|
|
- Current: N/A (not built yet)
|
|
- Target: <200KB gzipped initial JS
|
|
- Limit: 170KB for dashboard to leave buffer
|
|
|
|
**Performance Targets:**
|
|
- LCP: <2 seconds on Pi Zero 2 W
|
|
- Touch targets: Minimum 44px
|
|
- Data refresh: 1-5 second intervals with debouncing
|
|
|
|
**Quality Gates:**
|
|
- [ ] Dashboard loads on actual Pi Zero 2 W hardware
|
|
- [ ] Memory bounded (no unbounded growth over 24h)
|
|
- [ ] Touch optimized (tested with finger on 7" display)
|
|
- [ ] Performance budget met (<170KB initial JS)
|
|
|
|
---
|
|
|
|
## Accumulated Context
|
|
|
|
### Decisions Made
|
|
|
|
| Date | Decision | Rationale |
|
|
|------|----------|-----------|
|
|
| 2026-03-13 | 3-phase coarse roadmap | Matches granularity config, natural boundaries |
|
|
| 2026-03-13 | Dashboard-first approach | Core value + early performance validation |
|
|
| 2026-03-13 | React 19 + Vite 8 + Tailwind 4 | Research-validated stack for embedded kiosk |
|
|
|
|
### Open Questions
|
|
|
|
- Specific CSV library selection for Phase 3 (needs Web Worker compatibility)
|
|
- Network protocol prioritization (FTP/SCP/SFTP/WEBDAV - all needed?)
|
|
- Hardware API endpoint contracts (coordinate with Python backend)
|
|
|
|
### Technical Debt
|
|
|
|
None yet - project initialization complete.
|
|
|
|
### Known Blockers
|
|
|
|
None - ready to begin Phase 1 planning.
|
|
|
|
### Quick Tasks Completed
|
|
|
|
| # | Description | Date | Commit | Directory |
|
|
|---|-------------|------|--------|-----------|
|
|
| 1 | Create start.sh script with menu for test, dev, etc. | 2026-03-13 | b474f70 | [1-create-start-sh-script-with-menu-for-tes](./quick/1-create-start-sh-script-with-menu-for-tes/) |
|
|
| 2 | Update start.sh for network access and port configuration | 2026-03-13 | e327ab9 | [2-update-start-sh-for-network-access-and-p](./quick/2-update-start-sh-for-network-access-and-p/) |
|
|
| 3 | Fix UI feedback: header, navigation, and layout issues | 2026-03-13 | - | [3-fix-ui-feedback-header-navigation-and-la](./quick/3-fix-ui-feedback-header-navigation-and-la/) |
|
|
|
|
---
|
|
|
|
## Session Continuity
|
|
|
|
### Last Session
|
|
- **Action:** Roadmap creation
|
|
- **Outcome:** 3-phase roadmap created with 35/35 requirements mapped
|
|
- **Artifacts:** ROADMAP.md, STATE.md, REQUIREMENTS.md updated
|
|
|
|
### Next Expected Session
|
|
- **Action:** `/gsd-plan-phase 1`
|
|
- **Goal:** Create executable plans for Phase 1: Foundation & Dashboard
|
|
|
|
---
|
|
|
|
## Files Reference
|
|
|
|
| File | Purpose |
|
|
|------|---------|
|
|
| `.planning/PROJECT.md` | Project context, core value, constraints |
|
|
| `.planning/REQUIREMENTS.md` | v1/v2 requirements with traceability |
|
|
| `.planning/ROADMAP.md` | Phase structure and success criteria |
|
|
| `.planning/STATE.md` | This file - project state and progress |
|
|
| `.planning/research/SUMMARY.md` | Research findings and recommendations |
|
|
| `.planning/config.json` | Workflow configuration |
|
|
|
|
---
|
|
|
|
*Last updated: 2026-03-13 - Completed quick task 1: start.sh script*
|