ESTUDO DE CASO DE ENGENHARIA

Ritmo da Família — Localização Temporal 24h & Santuário OLED

O Ritmo da Família (com.jhh.solutions.ritmo_familia) nasceu de uma necessidade real vivida dentro de casa como pai de três filhos: crianças pequenas ainda não abstraem horas digitais (14:35), mas sentem segurança emocional profunda quando enxergam onde estão no fluxo do dia (o que já passou, o que estamos vivendo agora e o que vem depois). Construído em Flutter sob Clean Architecture, o aplicativo une um painel pedagógico diurno inspirado em Montessori + Time-Timer a um Santuário Noturno OLED completamente livre de estímulos visuais.

81 Arquivos Dart (Clean Arch)
29 Suítes Testes Unitários & Widgets
18 Marcos Trilha Diária Parametrizável
0 Estímulos Santuário OLED (19h–06h30)

Arquitetura de Domínio Temporal & Stack Técnica

Para calcular transições de rotina, janelas de soneca e trajetória astronômica a cada segundo sem acoplar regras pedagógicas à árvore de widgets, o sistema segue a separação clássica Domain • Data • Presentation:

Etapa 01

Tick Temporal

ClockBloc 1Hz

Etapa 02

UseCase Puro

GetDailyRoutineStatus

Etapa 03

Entidades Imutáveis

18 Marcos + Identidade Familiar

Etapa 04

Arco Celeste

CustomPainter + Semantics

Etapa 05

Anel Time-Timer

Antes -> Agora -> Depois

Etapa 06

Transição Circadiana

Penumbra Soneca / Santuário OLED

  • Gerenciamento de Estado & Tratamento Funcional: Orquestração reativa com flutter_bloc 9.1, injeção modular via get_it, rotas declarativas em go_router e contratos funcionais Either<Failure, T> (dartz) para persistência local retrocompatível.
  • Identidade Familiar Dinâmica Multi-Filhos: Motor linguístico capaz de compor saudações e cabeçalhos naturais para múltiplos irmãos com concordância nominal automática de artigos em português (ex.: "Rotina do Ben, da Clara e da Maria"), preparado para inclusão de novos filhos sem refatoração de UI.
  • Instrumentação & Acessibilidade: Árvore semântica explícita (Semantics) nos componentes gráficos desenhados via CustomPainter e suporte à inspeção automatizada com marionette_flutter.

Engenharia Pedagógica em Três Zonas Espaciais

Zona de InterfaceComponente TécnicoFunção Pedagógica & Sensorial
1. Zona Superior (Contexto)Cabeçalho Familiar + Barra Solar DiáriaExibe o progresso global do dia e oferece o modo interativo "Explorar o Dia" para aprendizado guiado com os pais
2. Zona Central (Astronomia)CelestialArcWidget (CustomPainter)Desenha a posição contínua real do Sol (manhã → zênite → pôr do sol) e da Lua ao lado do tema guardião escolhido
3. Zona Inferior (Ação)DailyRoutineTimelineWidget + Time-TimerDestaca o cartão AGORA com anel regressivo (Faltam X min), etapa concluída (ANTES ✓) e prévia (DEPOIS) entre 18 momentos (Café, Leitura, Brincar, Almoço, Soneca, Banho, Jantar, Oração e Dormir)

Hardware-Aware UX: Penumbra de Soneca & Santuário Noturno

Um painel que permanece ligado em um quarto infantil precisa respeitar a fisiologia do sono e o hardware físico da tela (screen_brightness + OLED):

  • Atmosfera Automática de Soneca (RoutineCategory.rest): Ao entrar na janela da soneca da tarde (30, 60, 90 ou 120 min), a paleta cromática e a luminância reduzem-se automaticamente para uma penumbra acolhedora, sinalizando descanso sem desligar a referência temporal.
  • Santuário Noturno Ultra-Limpo (19:00 às 06:30): No horário de sono noturno, toda a trilha de 18 atividades diurnas recolhe-se por completo, eliminando carga cognitiva, preservando a síntese de melatonina no quarto escuro e zerando o desgaste estático de subpixels OLED.