iris_hub/lib.rs
1//! # Iris - Mensageira dos Devs
2//!
3//! Iris é um hub de aplicações para desenvolvedores que trabalham com
4//! múltiplas tecnologias. Permite configurar, executar e gerenciar
5//! aplicações de forma centralizada.
6//!
7//! ## Arquitetura em Microserviços
8//!
9//! A aplicação está organizada em módulos com responsabilidades bem definidas:
10//!
11//! ### Core (`core/`)
12//! Contém as estruturas de dados fundamentais:
13//! - `models`: Definições de `AppConfig`, `AppState`, `RunningProcess`, etc.
14//! - `config`: Gerenciamento de configurações e persistência em JSON
15//!
16//! ### Services (`services/`)
17//! Serviços de negócio independentes:
18//! - `process_manager`: Gerenciamento do ciclo de vida de processos
19//! - `icon_service`: Carregamento e cache de ícones SVG
20//!
21//! ### UI (`ui/`)
22//! Componentes de interface gráfica:
23//! - `app_hub`: Aplicação principal e coordenação
24//! - `components`: Componentes reutilizáveis (cards, header, footer)
25//! - `dialogs`: Modais e diálogos (add/edit app, confirmação)
26//! - `theme`: Configurações de tema e estilo
27//!
28//! ### Utils (`utils.rs`)
29//! Funções utilitárias compartilhadas
30//!
31//! ## Exemplo de Uso
32//!
33//! ```rust,no_run
34//! use iris::ui::AppHub;
35//!
36//! fn main() -> eframe::Result<()> {
37//! let options = eframe::NativeOptions::default();
38//! eframe::run_native(
39//! "Iris",
40//! options,
41//! Box::new(|cc| Ok(Box::new(AppHub::new(cc)))),
42//! )
43//! }
44//! ```
45
46// Módulos públicos
47pub mod core;
48pub mod services;
49pub mod ui;
50pub mod utils;
51
52/// Versão atual da aplicação
53pub const VERSION: &str = "1.0.0";
54
55// Re-exports para conveniência
56pub use core::{AppConfig, AppState, ConfigManager};
57pub use services::{ProcessManager, IconCache};
58pub use ui::AppHub;