Architecture
This guide explains the high-level architecture of Astraio Client.
Technology Stack
| Component | Technology |
|---|---|
| Language | Rust |
| GUI Framework | Iced |
| Build System | Cargo |
| Platforms | macOS, Windows, Linux |
Core Components
astraio-client/
├── src/
│ ├── main.rs # Entry point
│ ├── app/ # Application logic
│ ├── ui/ # GUI components (Iced)
│ ├── network/ # HTTP/WebSocket/gRPC clients
│ ├── storage/ # Local data persistence
│ └── scripting/ # Scripting engine1. Application Layer (app/)
The core application state and business logic:
- Request/response handling
- Environment management
- Collection organization
2. UI Layer (ui/)
Iced-based GUI components:
- Request builder
- Response viewer
- Sidebar with collections
- Settings modal
3. Network Layer (network/)
HTTP client implementation:
- Request execution
- Response parsing
- Connection pooling
- Timeout handling
4. Storage Layer (local/)
Local persistence:
- Request history
- Collections
- Environments
- Settings
5. Scripting Engine (scripting/)
Custom scripting support:
- Pre-request scripts
- Post-response scripts
- Variable transformations
Data Flow
User Input → UI Layer → Application Logic → Network Layer → Server
↓
Local Storage ← ResponseKey Design Decisions
- No Electron — Native performance without web runtime overhead
- Local Only — All data stays on your machine (no cloud sync)
- Keyboard First — Optimized for rapid keyboard navigation
- Modular Architecture — Components are loosely coupled
Last updated on