smarttools/diagrams/smarttools-registry_fronten...

89 lines
1.9 KiB
Plaintext

@startuml
!theme plain
title SmartTools Registry - Frontend Architecture
package "Web UI (Flask + Jinja + Tailwind)" {
[Landing Page]
[Tool Browser]
[Tool Details]
[Search Results]
[Publisher Dashboard]
[Documentation]
}
package "TUI (Terminal UI)" {
[Registry Browse]
[Tool Search]
[Install Interface]
[Progress Indicators]
}
package "CLI Interface" {
[Publish Flow]
[Install Commands]
[Search Commands]
[Dependency Resolution]
}
package "Client-side State" {
[Search Filters]
[Tool Cache]
[User Preferences]
[Session State]
}
package "Responsive Design" {
[Mobile Viewport]
[Tablet Layout]
[Desktop Experience]
}
' API Connections
[Tool Browser] --> [API Endpoints]
[Search Results] --> [API Endpoints]
[Tool Details] --> [API Endpoints]
[Publisher Dashboard] --> [API Endpoints]
' TUI to API
[Registry Browse] --> [API Endpoints]
[Tool Search] --> [API Endpoints]
[Install Interface] --> [API Endpoints]
' CLI to API
[Publish Flow] --> [API Endpoints]
[Install Commands] --> [API Endpoints]
[Search Commands] --> [API Endpoints]
[Dependency Resolution] --> [API Endpoints]
' Client State Management
[Tool Browser] --> [Tool Cache]
[Search Results] --> [Search Filters]
[Publisher Dashboard] --> [Session State]
' Responsive Breakpoints
[Mobile Viewport] --> [Tool Browser]
[Tablet Layout] --> [Tool Details]
[Desktop Experience] --> [Publisher Dashboard]
note right of [Web UI]
- Server-rendered with Jinja2
- Tailwind CSS for responsive design
- Alpine.js for client interactivity
- SEO-optimized pages
end note
note right of [TUI]
- urwid or python-newt based
- Keyboard navigation (j/k, /, Enter)
- Virtual scrolling for large lists
- Real-time progress feedback
end note
note right of [CLI Interface]
- Progress bars for long operations
- Clear error messages with suggestions
- Token management and secure storage
- Dependency resolution visualization
end note
@enduml