# Estrutura do Projeto - Check Theeth Kids ## Visão Geral O **Check Theeth Kids** é um aplicativo Flutter desenvolvido para ajudar crianças e pais a manterem uma boa saúde bucal através de educação interativa, quizzes e acompanhamento. ## Estrutura de Pastas ``` check_theeth_kids/ ├── lib/ │ ├── main.dart # Ponto de entrada da aplicação │ ├── logged_home.dart # Tela principal para usuários logados │ ├── auth_gate.dart # Gerenciamento de autenticação │ ├── home_screen.dart # Tela inicial para não logados │ ├── gates/ │ │ └── debug_launch_gate.dart # Controle de inicialização │ ├── quiz/ # Sistema de quiz educativo │ │ ├── quiz1.dart # Quiz completo com 20 perguntas │ │ ├── quiz2.dart # (obsoleto - integrado ao quiz1.dart) │ │ ├── quiz3.dart # (obsoleto - integrado ao quiz1.dart) │ │ ├── quiz4.dart # (obsoleto - integrado ao quiz1.dart) │ │ ├── quiz5.dart # (obsoleto - integrado ao quiz1.dart) │ │ ├── quiz_extended.dart # (obsoleto - integrado ao quiz1.dart) │ │ ├── quiz_complete.dart # Backup do sistema completo │ │ ├── quiz_question_screen.dart # Tela genérica de perguntas │ │ ├── quiz_result.dart # Tela de resultados do quiz │ │ ├── quiz_prefs.dart # Preferências e configurações │ │ └── quiz_random.dart # Sistema de quiz aleatório │ ├── screens/ │ │ ├── hello_splash_screen.dart # Tela de splash inicial │ │ ├── curiosidade_screen.dart # Tela de curiosidades │ │ └── video_screen.dart # Tela de vídeos educativos │ └── assets/ # Recursos estáticos │ ├── images/ │ ├── animations/ │ └── videos/ ├── documentação/ # Documentação do projeto ├── pubspec.yaml # Dependências e configurações └── README.md # Documentação geral ``` ## Arquivos Principais ### Arquivos de Navegação e Autenticação #### `main.dart` - **Função**: Ponto de entrada da aplicação - **Responsabilidade**: Inicializa Firebase e define o widget raiz `MyApp` - **Importância**: Essencial para o funcionamento do app #### `auth_gate.dart` - **Função**: Gerenciamento de estado de autenticação - **Lógica**: - Se usuário logado → `LoggedHomeScreen` - Se não logado → `HomeScreen` - **Dependências**: Firebase Auth #### `gates/debug_launch_gate.dart` - **Função**: Controle de inicialização e splash screen - **Responsabilidade**: Gerencia transição entre splash e autenticação ### Tela Principal do Aplicativo #### `logged_home.dart` - **Função**: Tela principal para usuários autenticados - **Componentes**: - AppBar animado com informações do usuário - Sistema de perfil com upload de fotos - Gerenciamento de crianças - Seção de clínicas parceiras - Biblioteca de vídeos educativos - Sistema de quiz integrado - Interface com animações Lottie - **Estado**: StatefulWidget com múltiplos gerenciadores de estado ### Sistema de Quiz #### `quiz/quiz1.dart` (ARQUIVO PRINCIPAL) - **Função**: Sistema completo de quiz com 20 perguntas - **Estrutura**: Contém todas as 20 perguntas em um único arquivo - **Fluxo**: Quiz1 → Quiz2 → ... → Quiz20 → Resultados - **Pontuação**: Máximo de 100 pontos (5 pontos por pergunta) #### `quiz/quiz_question_screen.dart` - **Função**: Tela genérica reutilizável para perguntas - **Componentes**: - Exibição de perguntas e respostas - Sistema de navegação (próximo/anterior) - Feedback visual para respostas - Controle de pontuação #### `quiz/quiz_result.dart` - **Função**: Tela de resultados com feedback personalizado - **Recursos**: - Exibição de pontuação final - Mensagens motivacionais baseadas no desempenho - Opção de refazer o quiz ### Tela de Conteúdo Educativo #### `screens/curiosidade_screen.dart` - **Função**: Exibição de curiosidades sobre saúde bucal - **Recursos**: Conteúdo educativo com imagens e textos #### `screens/video_screen.dart` - **Função**: Reprodução de vídeos educativos - **Integração**: YouTube Player para conteúdo em vídeo ### Tela Inicial #### `home_screen.dart` - **Função**: Tela de boas-vindas para usuários não autenticados - **Componentes**: Botões de login e cadastro #### `screens/hello_splash_screen.dart` - **Função**: Tela de splash inicial com animações - **Duração**: Transição automática para tela principal ## Fluxo da Aplicação 1. **Inicialização**: `main.dart` → `DebugLaunchGate` 2. **Splash**: `HelloSplashScreen` (2-3 segundos) 3. **Autenticação**: `AuthGate` verifica estado do usuário 4. **Tela Principal**: - Não logado → `HomeScreen` - Logado → `LoggedHomeScreen` 5. **Navegação Interna**: - Quiz → Sistema de 20 perguntas - Vídeos → `VideoScreen` - Curiosidades → `CuriosidadeScreen` - Perfil → Sistema de gerenciamento ## Dependências Principais ### Firebase - **firebase_core**: Configuração base - **firebase_auth**: Autenticação de usuários - **cloud_firestore**: Banco de dados - **firebase_storage**: Armazenamento de imagens ### UI e Animações - **flutter/material.dart**: UI Material Design - **lottie**: Animações vetoriais - **youtube_player_flutter**: Reprodução de vídeos ### Utilitários - **image_picker**: Seleção de imagens da galeria/câmera - **shared_preferences**: Armazenamento local de preferências ## Configurações Importantes ### Firebase - **Projeto**: `check-theeth-kids-db` - **Configuração**: Necessário arquivo `google-services.json` (Android) e `GoogleService-Info.plist` (iOS) ### Assets - **Imagens**: Configuradas em `pubspec.yaml` - **Animações**: Arquivos Lottie na pasta `assets/animations/` - **Vídeos**: Integrados via YouTube Player ## Estado Atual do Projeto ### ✅ Funcionalidades Completas - Sistema de autenticação Firebase - Tela principal com todas as funcionalidades - Sistema de quiz com 20 perguntas - Upload e gerenciamento de fotos de perfil - Sistema de gerenciamento de crianças - Biblioteca de vídeos educativos - Sistema de resultados do quiz ### ⚠️ Pontos de Atenção - Configuração Firebase Web requer credenciais específicas - Algumas dependências podem estar desatualizadas (43 packages com versões mais recentes) - Sistema de quiz completamente integrado em um único arquivo ### 🔄 Manutenção - **Atualização de dependências**: Recomendado revisar packages desatualizados - **Firebase Web**: Configurar credenciais para plataforma web - **Testes**: Implementar testes unitários e de integração ## Próximos Passos Recomendados 1. **Atualização de Dependências**: Revisar e atualizar packages desatualizados 2. **Configuração Firebase Web**: Adicionar credenciais para plataforma web 3. **Testes Automatizados**: Implementar suíte de testes 4. **Otimização**: Revisar performance e otimizar carregamento 5. **Documentação de API**: Documentar endpoints e estruturas de dados