Files
calypso/docs/PHASE-E-PLAN.md
Warp Agent a08514b4f2 Organize documentation: move all markdown files to docs/ directory
- Created docs/ directory for better organization
- Moved 35 markdown files from root to docs/
- Includes all status reports, guides, and testing documentation

Co-Authored-By: Warp <agent@warp.dev>
2025-12-24 20:05:40 +00:00

134 lines
3.2 KiB
Markdown

# Phase E: Frontend Implementation Plan
## 🎯 Overview
Phase E implements the web-based GUI for AtlasOS - Calypso using React + Vite + TypeScript.
## 📋 Technology Stack
- **React 18** - UI framework
- **Vite** - Build tool and dev server
- **TypeScript** - Type safety
- **TailwindCSS** - Styling
- **shadcn/ui** - UI component library
- **TanStack Query** - Data fetching and caching
- **React Router** - Routing
- **Zustand** - State management
- **Axios** - HTTP client
- **WebSocket** - Real-time events
## 🏗️ Project Structure
```
frontend/
├── src/
│ ├── api/ # API client and queries
│ ├── components/ # Reusable UI components
│ ├── pages/ # Page components
│ ├── hooks/ # Custom React hooks
│ ├── store/ # Zustand stores
│ ├── types/ # TypeScript types
│ ├── utils/ # Utility functions
│ ├── lib/ # Library configurations
│ ├── App.tsx # Main app component
│ └── main.tsx # Entry point
├── public/ # Static assets
├── index.html
├── package.json
├── vite.config.ts
├── tsconfig.json
└── tailwind.config.js
```
## 📦 Implementation Tasks
### 1. Project Setup ✅
- [x] Initialize Vite + React + TypeScript
- [x] Configure TailwindCSS
- [x] Set up path aliases
- [x] Configure Vite proxy for API
### 2. Core Infrastructure
- [ ] Set up shadcn/ui components
- [ ] Create API client with Axios
- [ ] Set up TanStack Query
- [ ] Implement WebSocket client
- [ ] Create authentication store (Zustand)
- [ ] Set up React Router
### 3. Authentication & Routing
- [ ] Login page
- [ ] Protected route wrapper
- [ ] Auth context/hooks
- [ ] Token management
- [ ] Auto-refresh tokens
### 4. Dashboard
- [ ] Overview cards (storage, tapes, alerts)
- [ ] System health status
- [ ] Recent tasks
- [ ] Active alerts
- [ ] Quick actions
### 5. Storage Management
- [ ] Disk list and details
- [ ] Volume groups
- [ ] Repository management (CRUD)
- [ ] Capacity charts
### 6. Tape Library Management
- [ ] Physical tape libraries
- [ ] Virtual tape libraries (VTL)
- [ ] Tape inventory
- [ ] Load/unload operations
- [ ] Drive status
### 7. iSCSI Management
- [ ] Target list and details
- [ ] LUN mapping
- [ ] Initiator management
- [ ] Configuration apply
### 8. Monitoring & Alerts
- [ ] Alerts list and filters
- [ ] Metrics dashboard
- [ ] Real-time event stream
- [ ] Alert acknowledgment
### 9. System Management
- [ ] Service status
- [ ] Service control
- [ ] Log viewer
- [ ] Support bundle generation
### 10. IAM (Admin Only)
- [ ] User management
- [ ] Role management
- [ ] Permission management
## 🎨 Design Principles
1. **No Business Logic in Components** - All logic in hooks/services
2. **Type Safety** - Full TypeScript coverage
3. **Error Handling** - Unified error handling
4. **Loading States** - Proper loading indicators
5. **Responsive Design** - Mobile-friendly
6. **Accessibility** - WCAG compliance
## 🚀 Getting Started
```bash
cd frontend
npm install
npm run dev
```
## 📝 Next Steps
1. Install dependencies
2. Set up shadcn/ui
3. Create API client
4. Build authentication flow
5. Create dashboard