Sistema de Gestão Financeira
Mobile: Sistema completo de Registro de Usuários com verificação por email
Mobile: Tela de registro (RegisterScreen) com formulário em 2 etapas (dados + verificação)
Mobile: Modal de verificação com código de 6 dígitos e timer de expiração (5 minutos)
Mobile: Progress overlay com 5 steps durante criação de conta (Validando → Criando → Database → Contas → Finalizando)
Mobile: Integração completa com endpoints backend /auth/register/request-code/ e /auth/register/verify-and-create/
Mobile: Validações em tempo real (username 3-30 chars, email, senha mínimo 6, confirmação)
Mobile: Sistema de reenvio de código de verificação com cooldown automático
Mobile: Botão 'Não tem conta? Criar agora' adicionado à tela de Login
Mobile: Auto-redirect para Login após registro bem-sucedido com mensagem de confirmação
Mobile: Rota 'Register' configurada no AuthStack para navegação fluida
Mobile: UX aprimorada com autofocus, navegação por returnKeyType e feedback visual
Mobile: Layout responsivo com KeyboardAvoidingView e ScrollView para compatibilidade iOS/Android
Mobile: Tema consistente usando useTheme() e padrão de estilos dinâmicos com useMemo
Mobile: Input component com toggle de senha (eye icon) já implementado e funcional
API: Endpoints REGISTER_REQUEST_CODE e REGISTER_VERIFY_AND_CREATE adicionados ao constants/index.js
API: Métodos requestRegistrationCode() e verifyCodeAndCreateAccount() adicionados ao ApiService
CRÍTICO: Correção de IntegrityError ao registrar dispositivo com usuário diferente no mesmo celular
Notificações: Dispositivos de outros usuários agora são deletados (não apenas desativados) ao trocar de conta
Notificações: Correção de constraint UNIQUE em expo_push_token permitindo login sequencial de múltiplos usuários
Notificações: Lógica aprimorada - dispositivo físico agora pertence a apenas 1 usuário por vez
Notificações: Suporte completo a logout/login com diferentes contas no mesmo dispositivo móvel
Notificações: Logs detalhados mostrando deleção de devices de outros usuários durante registro
Transações Recorrentes: Sistema completo de gerenciamento de transações automáticas e periódicas
Transações Recorrentes: Suporte a 4 frequências (Diária, Semanal, Mensal, Anual) com intervalo customizável (1-365)
Transações Recorrentes: Criação automática de transações na data programada com conciliação opcional
Transações Recorrentes: Sistema de Ocorrências para rastrear cada instância criada ou pulada
Transações Recorrentes: Funcionalidade de 'Pular' ocorrência única sem afetar futuras recorrências
Transações Recorrentes: Reverter ocorrência criada ou pulada com histórico completo
Transações Recorrentes: Criação manual de ocorrência com valores customizáveis (valor, data, categoria, conta)
Transações Recorrentes: Sistema de Lembretes com 3 tipos (dias_antes, no_dia, data_especifica)
Transações Recorrentes: Lembretes personalizáveis com mensagem customizada opcional
Transações Recorrentes: CRUD completo de lembretes com toggle ativo/inativo individual
Transações Recorrentes: API REST completa com 30 endpoints e 6 serializers especializados
Transações Recorrentes: 3 ViewSets (TransacaoRecorrenteViewSet, OcorrenciaViewSet, LembreteViewSet)
Mobile: 4 telas dedicadas (Lista, Detalhes, Criar/Editar, Gerenciar Lembretes)
Mobile: Tela de lista com busca, filtros (frequência, tipo, status) e paginação infinita
Mobile: Tela de detalhes com informações completas, ocorrências, lembretes e ações rápidas
Mobile: Formulário de criação/edição com validações em tempo real e campos condicionais
Mobile: Seletor hierárquico de categorias com separação visual Receitas/Despesas
Mobile: Filtro automático de categorias nível 1 (não selecionáveis) e analíticas
Mobile: Modal avançado para criação de ocorrência com todos os campos editáveis
Mobile: Renderização diferenciada para ocorrências criadas vs puladas com ações contextuais
Mobile: Lista de lembretes com badges de status e ações (Toggle, Editar, Deletar)
Transações Recorrentes: Cálculo inteligente de próxima ocorrência baseado em frequência e intervalo
Transações Recorrentes: Suporte a período de vigência (data início obrigatória, data fim opcional)
Transações Recorrentes: Configuração granular por dia da semana (semanal) ou dia do mês (mensal/anual)
Transações Recorrentes: Validação de unicidade - apenas 1 recorrência ativa por nome/tipo
Transações Recorrentes: Inativação automática ao atingir data_fim definida
Mobile: UX aprimorada com emojis contextuais (🏦💳📅📁) e hints explicativos
Mobile: Campos condicionais inteligentes (banco/cartão, dia_semana/dia_mes)
Mobile: Indicadores visuais de status (ativo/inativo) com cores diferenciadas
Mobile: Empty states amigáveis com CTAs para criar primeira recorrência/lembrete
Mobile: Performance otimizada com lazy loading e cache inteligente
Notificações: Debouncing inteligente para prevenir spam em criação massiva
Notificações: Sistema de cooldown (2 segundos) entre notificações do mesmo tipo
Notificações: Agrupamento automático de notificações similares em período curto
CRÍTICO: Correção de undefined em picker de categorias - fallback para caminho_completo || conta
CRÍTICO: Correção de separadores em Picker causando 'undefined' - uso de values únicos
Mobile: Correção na renderização de caminhos longos - exibição últimos 2 níveis hierárquicos
Mobile: Correção de autenticação em endpoints de transações recorrentes
Mobile: Correção de imports faltantes (KeyboardAvoidingView, Platform)
Mobile: Correção de método API - getCategorias → getContasMovimento
Mobile: Correção de campo null error em criação de lembrete - envio condicional de mensagem_customizada
Mobile: Correção de Button component - children → title prop
Mobile: Correção de data padrão em modal de ocorrência - hoje ao invés de próxima_ocorrencia
Backend: Correção de campo 'rollover' removido do serializer - não mais utilizado
FAB (Floating Action Button): Botão de ações rápidas flutuante disponível em todas as páginas exceto Dashboard
FAB: Speed dial com 3 ações (Transferência, Múltiplos Lançamentos, Novo Lançamento)
FAB: Animações suaves de entrada (fabEntrance) com rotação e escala
FAB: Animações staggered nos botões de ação (delays de 0.05s, 0.1s, 0.15s)
FAB: Backdrop com blur para foco nas ações rápidas
FAB: Sistema de cores contextual (azul para fechado, vermelho para aberto)
FAB: Integração completa com modais de Transferência e Múltiplos Lançamentos
UX: Transições suaves com cubic-bezier(0.4, 0, 0.2, 1) em todos os elementos do FAB
UX: Efeitos hover com translateX(-4px) e scale(1.05) nos botões de ação
UX: Ícones rotativos (+ vira × ao abrir) com transição de 0.3s
Mobile: FAB responsivo com tamanhos e margens otimizadas para telas pequenas
Mobile: Fontes reduzidas (13px) e espaçamento ajustado para dispositivos móveis
Acessibilidade: ARIA attributes completos (aria-label, aria-expanded)
Acessibilidade: Suporte completo a navegação por teclado (ESC para fechar)
Acessibilidade: Focus outlines claros (2px solid) em todos os elementos clicáveis
Dashboard: FAB ocultado usando block override para manter botões de ação visíveis no topo
Performance: Uso de requestAnimationFrame para animações otimizadas por GPU
JavaScript: Event listeners otimizados com setTimeout(300ms) para fechar após clique em ação
CSS: Z-index strategy definida (backdrop: 1039, container: 1040, main: 1042, modals: 1055)
Management: Comando personalizado para geração massiva de dados de teste (mock data) para Orçamentos
Management: Comando para Reset total do sistema de Orçamentos com limpeza de tabelas e logs de auditoria
API: Implementação do campo 'rollover_formatado' no Serializer com detecção automática de sinal (+/-) e formatação BRL
Management: Lógica de geração de dados respeitando hierarquia de categorias e diferentes tipos de orçamento (Global/Categoria/Projeto)
API: Geração dinâmica do campo 'status' no serializer baseada em regras de negócio contextuais
Mobile: Implementação de lógica dinâmica (new Date().getMonth()) para exibição automática do mês corrente
Management: Proteção contra execução acidental de reset em ambiente de produção
API: Refatoração do to_representation para extração inteligente de 'ano' e tratamento de valores nulos
Sistema completo de Orçamentos (Budgets) com suporte a despesas e receitas
Orçamentos: Três tipos disponíveis - Global, Por Categoria e Categoria + Projeto
Orçamentos: Sistema de Rollover automático com reset em janeiro e acúmulo de saldo não utilizado
Orçamentos: Ajuste manual de rollover com histórico completo e auditoria (motivo obrigatório)
Orçamentos: Histórico temporal de valores de meta com data de vigência retroativa
Orçamentos: Histórico de status (ativo/inativo) com controle de vigência por mês/ano
Orçamentos: Dashboard com visão separada de Despesas e Receitas com estatísticas acumuladas no ano
Orçamentos: Gráficos Chart.js interativos mostrando Meta vs Realizado por orçamento
Orçamentos: Sistema de alertas inteligente para orçamentos fora do limite
Orçamentos: Tabelas com progress bars contextualizadas (verde/amarelo/vermelho baseado no tipo)
Orçamentos: Página de detalhes com estatísticas mensais e visualização anual completa
Orçamentos: Gráfico de linha mostrando evolução Meta vs Realizado ao longo do ano
Orçamentos: Modal customizado para seleção de categorias com busca em tempo real
Orçamentos: Seletor de categorias organizado por tipo (Despesas/Receitas) com hierarquia visual
Orçamentos: Filtros de categoria com botões Todas/Despesas/Receitas no modal de seleção
Orçamentos: Cards interativos mostrando meta acumulada, realizado e percentual de utilização
Orçamentos: Service layer (OrcamentoCalculoService) com cálculos otimizados em passada linear
Orçamentos: Constraints de banco garantindo unicidade (apenas 1 orçamento ativo por tipo/categoria/objetivo)
Orçamentos: Lógica contextualizada - 'dentro do limite' significa coisas diferentes para despesas vs receitas
Orçamentos: Badges e cores diferenciadas - vermelho/seta baixo para despesas, verde/seta cima para receitas
Orçamentos: Cálculo de percentuais inteligente - ≤75% bom para despesas, ≥100% bom para receitas
Orçamentos: Mensagens de erro amigáveis para violações de constraint (sem página de erro Django)
Orçamentos: Sistema de tabs no dashboard (Visão Geral / Gerenciar Orçamentos)
Orçamentos: Valores acumulados no ano respeitando rollover e histórico de ativo/inativo
Orçamentos: Formulários com campos condicionais (categoria/projeto aparecem baseado no tipo selecionado)
Orçamentos: Correção do campo 'conta_pai' para 'categoria' no modelo ContaMovimento
Orçamentos: Correção de AttributeError 'motivo' no método save() do modelo Orcamento
Orçamentos: Tratamento de ValidationError e IntegrityError para constraints de unicidade
Orçamentos: Correção de campo 'tipo' para 'analise' e 'nome' para 'conta' em ContaMovimento
Orçamentos: Properties 'nivel' e 'caminho_completo' corrigidas para usar 'categoria' em vez de 'conta_pai'
Sistema de Registro: Campo username adicionado ao formulário de registro com validação
Sistema de Registro: Usuário escolhe seu próprio username (3-30 caracteres, a-z, 0-9, _)
Sistema de Registro: Validação client-side e server-side de username único
Deleção Automática: Usuários com acesso exclusivo ao Database são deletados automaticamente
Deleção Automática: Lógica inteligente mantém usuários com múltiplos acessos
Signals: Sistema de signals (pre_delete) implementado para Database
Signals: Análise automática de usuários antes da deleção com logs detalhados
Admin: Método get_deleted_objects() otimizado para evitar timeout com muitos objetos
Admin: Aviso visual mostrando usuários que serão deletados vs mantidos
Comando: delete_database.py completo com análise de impacto em usuários
Comando: Confirmação dupla antes de deletar Database
Comando: Opções --list, --dry-run, --force para gerenciar deleções
Apps: DatabaseConfig implementado com carregamento automático de signals
Registro: Username gerado automaticamente removido em favor de escolha do usuário
Admin: Estatísticas completas com números formatados (separadores de milhar)
Admin: Interface visual melhorada com badges coloridos e indicadores
Admin: Actions para ativar/desativar databases em lote
Deleção: Logs detalhados no terminal durante processo de deleção
Deleção: Resumo completo antes da confirmação (objetos + usuários)
Performance: Deleção em transaction.atomic() para garantir consistência
Segurança: Proteção contra deleção acidental com múltiplas confirmações
CRÍTICO: Corrigido erro 'Cannot specify comma with s' em format_html()
CRÍTICO: Django Admin agora permite deleção de Database mesmo com milhares de objetos
Admin: Formatação de números corrigida em todos os métodos display
Admin: has_delete_permission() sempre retorna True para superusers
Signals: User Django e UsuarioProfile deletados em cascata corretamente
Registro: Correção de campo 'database' para 'nome' no modelo Database
Mobile: Tela completa 'Meu Perfil' (InfoUserScreen) com foto, dados pessoais e permissões
Mobile: Sistema de upload/delete de foto de perfil com integração expo-image
Mobile: Tela de alteração de senha com validação em tempo real e indicador de força (Fraca/Média/Forte)
Mobile: Requisitos visuais de senha com checkmarks dinâmicos (mínimo 8 caracteres, maiúsculas, números, especiais)
API: Endpoints REST completos em /api/v1/me/ para gerenciamento de perfil do usuário
API: POST /api/v1/me/upload-photo/ com validação de tamanho (5MB) e formatos permitidos
API: DELETE /api/v1/me/delete-photo/ para remover foto de perfil
API: PUT /api/v1/me/update-profile/ para atualizar dados pessoais (nome, email)
API: POST /api/v1/me/change-password/ com validação de senha atual e nova senha
Dashboard: Linha TOTAL no gráfico de Evolução de Saldo consolidando todos os proprietários
Dashboard: Botão de toggle dedicado para mostrar/ocultar linha TOTAL com estilo destacado em branco
Mobile: Card de usuário nas Configurações agora é clicável e navega para tela de perfil
Mobile: Cache management inteligente de fotos com expo-image (memory-disk policy)
Mobile: Cache busting com timestamp query string para forçar atualização de foto no Expo Go
Mobile: UX aprimorada com React.memo e useCallback para prevenir re-renders desnecessários
Mobile: Navegação fluida entre ConfiguracoesScreen → InfoUserScreen → ChangePasswordScreen
Backend: Modelo UsuarioProfile agora deleta foto antiga automaticamente ao fazer upload de nova
Backend: Validações de senha com mínimo 8 caracteres e verificação de senha atual
Dashboard: Gráfico de Evolução de Saldo com visualização consolidada multi-proprietário
CRÍTICO: Endpoint /api/v1/me/change-password/ agora aceita JSON via JSONParser
CRÍTICO: Correção do teclado fechando ao digitar senha - componentes otimizados
Backend: Foto antiga deletada do disco antes de salvar nova (sem duplicatas com sufixos)
Mobile: Clear cache após upload/delete de foto para atualização imediata
Dashboard: Linha TOTAL criada uma única vez fora do loop de proprietários
Sistema de usuários refatorado com separação de Primeiro Nome e Último Nome
Campos first_name e last_name do User Django agora preenchidos corretamente
Preview em tempo real do nome completo na tela de edição de usuários
Associação de Usuário Lynce a Perfil de Proprietário existente disponível na criação
Username agora é SEMPRE definido manualmente pelo usuário (sem auto-geração)
Tela de edição simplificada sem seção de associação Django User
Validações JavaScript aprimoradas para criação de Perfil de Proprietário
Interface mais intuitiva para criação de usuários com toggles e campos condicionais
Atualização automática de first_name/last_name do User Django ao editar perfil
CRÍTICO: Correção no campo username com required hardcoded impedindo criação de Perfil de Proprietário
Correção na lógica de campos required dinâmicos baseados no tipo de usuário
Botão 'Conciliar Todos' no dashboard para conciliar múltiplos lançamentos pendentes de uma vez
Endpoint AJAX `/lancamentos-bancos/ajax/conciliar-todos/` com operação atômica via transaction.atomic()
Mobile: Tela completa de Preferências de Notificação com todas as configurações disponíveis
Mobile: Time Pickers nativos para configurar horário silencioso (iOS e Android)
Mobile: Toggle master para ativar/desativar notificações sem deslogar
Mobile: Configuração de notificação de despesa alta com limite personalizável
Mobile: Seções organizadas por tipo (Transações, Cartões, Alertas Especiais, Horário Silencioso)
Badge com versão do app mobile (v6.1.0) visível no card de tecnologias do sistema
Mobile: UX aprimorada com desabilitação automática de controles quando notificações estão off
Mobile: Validação de limite de despesa alta com feedback visual e de erro
Mobile: Interface responsiva e consistente entre iOS e Android para time pickers
Confirmação visual com contador de lançamentos antes de conciliar todos
CRÍTICO: Correção na identificação do usuário em conciliar_todos - uso correto de request.user.profile
Correção no filtro de lançamentos para conciliação - agora usa database em vez de proprietário
Mobile: Correção na conversão de high_expense_threshold para string no carregamento
CurrentUserMiddleware implementado para capturar request.user via ThreadLocal globalmente
Signals de notificação agora identificam automaticamente o criador real da transação
Notificações exibem nome completo do usuário que criou a transação, não do proprietário da conta
Sistema de notificações totalmente automático - signals ativos enviam notificações sem chamadas manuais
Middleware funciona perfeitamente para web e mobile API sem necessidade de alteração nas views
Emoji adicionado antes do valor formatado nos dados da notificação mobile (formatted_value)
CRÍTICO: Correção na identificação do sender - agora usa request.user (criador) em vez de proprietario
Correção de encoding Windows - emojis removidos dos logs do console mas mantidos nas notificações mobile
Correção na exibição de categoria - agora mostra conta.conta em vez de categoria.conta (pai)
Proprietário agora recebe notificação quando diferente do criador (correção de lógica exclude_sender)
Criador da transação explicitamente excluído de receber sua própria notificação
Sistema completo de Push Notifications com notificações ricas e personalizadas
Registro automático de dispositivos móveis via Expo Push Notifications
Notificações em tempo real para novas transações bancárias e de cartão
Preferências de notificação personalizáveis por usuário (tipo de transação, horário silencioso)
Sistema multi-tenant - notificações enviadas para todos os usuários com acesso ao mesmo database
Notificações ricas com detalhes completos: valor, categoria, origem, data e usuário responsável
Backend: API REST completa para gerenciamento de dispositivos, preferências e histórico
Backend: Django Signals para envio automático de notificações ao criar transações
Backend: Logs completos de notificações para auditoria e debugging
Mobile: Tela de preferências de notificação integrada nas Configurações
Mobile: Suporte a notificação de teste para validar configuração
AuthContext aprimorado com registro/limpeza automática de notificações no login/logout
Configuração de canais Android para categorização de notificações (Transações, Faturas)
Correção na identificação de categoria via ContaMovimento em lançamentos
Tratamento robusto de erros em registro de dispositivos e envio de notificações
Correção crítica: inicialização da variável dados_grafico_temporal prevenindo erros em produção
Remoção de prints de debug que causavam erros em ambiente de produção
Categorias pai na tabela de detalhamento agora visualmente não-clicáveis (opacidade reduzida, sem cursor pointer)
Remoção do clique em gráficos de Pizza e Barras - interação apenas pela tabela de subcategorias
UX aprimorada com distinção clara entre categorias pai (consolidadas) e subcategorias (clicáveis)
Aplicativo Mobile React Native atualizado para versão 2.0 com adição de login por biometria
Correção crítica do modal de drill-down - ajuste de rota AJAX para exibir transações por categoria
Correção do atributo de cartão de crédito (nome_cartao → nome) no endpoint AJAX
Correção de duplicação de dados quando categoria pai e subcategorias eram selecionadas simultaneamente
Correção do cálculo de percentuais - agora usa apenas categorias principais como base, eliminando valores duplicados
Correção dos valores totais de categorias pai - agora somam corretamente valores próprios + subcategorias
Sistema inteligente de checkboxes - marcar categoria pai seleciona/desmarca automaticamente todas as subcategorias
Sincronização automática - marcar todas as subcategorias marca automaticamente a categoria pai
Gráfico de evolução temporal mostrando tendências mensais de subcategorias selecionadas
Remoção do filtro 'Incluir/Não Incluir Subcategorias' para simplificar UX
Gráficos de Pizza e Barras agora usam apenas categorias principais, refletindo totais consolidados
Tabela de detalhamento com valores corretos de categorias pai (soma de subcategorias)
Estado inicial dos checkboxes sincronizado corretamente ao carregar página com filtros salvos
Redesenho completo da página de Relatórios por Categorias com tema escuro moderno e componentes atualizados
Sistema de filtros de data rápidos com anos dinâmicos (ano atual e 2 anos anteriores)
Seleção de categorias hierárquica com checkboxes, contador em tempo real e seleção em massa
Gráficos interativos Chart.js (pizza e barras) com drill-down por clique para detalhes
Modal de detalhamento para visualizar transações específicas de cada categoria
Cartões de resumo com totais de receitas, despesas, saldo líquido e contagem de transações
Tabela responsiva com efeitos hover, organização por níveis e indicadores visuais
Sistema de exportação aprimorado (Excel, CSV) com funcionalidade de impressão nativa
Filtros colapsáveis para melhor organização e experiência mobile-first
Animações suaves, transições e feedback visual em todos os componentes
Otimização de performance e carregamento para grandes volumes de dados
Correção de layout responsivo e compatibilidade cross-browser
Filtros de data rápidos com anos dinâmicos (automaticamente exibe ano atual e 2 anos anteriores)
Filtros de tipo de transferência no histórico (Todos/Internas/Externas) com contador dinâmico
Sistema de persistência do estado do sidebar usando localStorage - mantém preferência entre sessões
Quick date filters agora auto-submetem o formulário para experiência mais fluida
Estado ativo dos filtros de transferência com feedback visual claro
Atalhos de teclado para filtros de transferência (Alt+T/I/E)
Toggle do sidebar corrigido - agora expande/colapsa imediatamente sem necessidade de recarregar página
Sincronização visual do sidebar com requestAnimationFrame para transições suaves
Download do APK do aplicativo mobile diretamente pelo modal de versões
Modal de informações do sistema disponível na tela de login
Badge de download animado no item React Native para facilitar identificação
Efeitos visuais aprimorados no hover do item Mobile (pulse, scale, shadow)
Correção crítica nos cards de fluxo do proprietário para usar campo 'analise' em vez de sinal do valor
Padronização do campo de data em lançamentos de cartão (uso consistente de 'data' para vencimento)
Exclusão correta de transferências nos cálculos de receitas e despesas do proprietário
Sincronização de valores entre resumo geral e cards de fluxo do proprietário
Separação clara entre transferências internas e entre proprietários nos relatórios
Modal de versões do sistema com histórico completo de alterações
Reorganização completa da área de Transferências em Relatórios com UX aprimorada
Cards de fluxo entre proprietários com detalhes expansíveis e interativos
Filtros de transferências agora respeitam o filtro por proprietário
Coluna de diferença em Contas Bancárias oculta por padrão (visível apenas com rendimentos)
Otimização da visualização de transferências com foco em informações relevantes
Remoção de gráficos redundantes na seção de transferências
Correção de Bug API - lançamentos Cartão e lançamentos Banco
Aplicativo Mobile React Native completo com sincronização em tempo real
Sistema de Projects com CRUD completo e vinculação de lançamentos
Interface redesenhada com tema escuro profissional e moderna
Melhorias significativas de performance com otimização de queries
Sistema de filtros avançados em todas as telas de listagem
Gráficos de evolução de saldo com visualização histórica
Sistema de reconciliação automática de lançamentos bancários
Autocomplete melhorado para categorias hierárquicas
Correções no cálculo de faturas de cartão de crédito
Ajustes na exibição de valores em relatórios
Lançamento inicial do sistema de gestão financeira
Gestão completa de contas bancárias e cartões de crédito
Relatórios financeiros com filtros por período
Sistema de categorias hierárquicas para organização