7.3 KiB
7.3 KiB
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
- Se usuário logado →
- 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
- Inicialização:
main.dart→DebugLaunchGate - Splash:
HelloSplashScreen(2-3 segundos) - Autenticação:
AuthGateverifica estado do usuário - Tela Principal:
- Não logado →
HomeScreen - Logado →
LoggedHomeScreen
- Não logado →
- 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) eGoogleService-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
- Atualização de Dependências: Revisar e atualizar packages desatualizados
- Configuração Firebase Web: Adicionar credenciais para plataforma web
- Testes Automatizados: Implementar suíte de testes
- Otimização: Revisar performance e otimizar carregamento
- Documentação de API: Documentar endpoints e estruturas de dados