Sobre este projeto
it-programming / web-development
Aberto
Objetivo
Melhorar a performance geral do aplicativo, otimizando o envio de fotos, reduzindo o tamanho do executável, aprimorando o carregamento de dados e corrigindo falhas, sem comprometer a qualidade das funcionalidades já implementadas.
Alterações Requeridas
1. Otimização do Envio de Fotos
- Descrição: Atualmente, o aplicativo tira 4 fotos por item levantado. O objetivo é garantir que as fotos sejam enviadas para o servidor com qualidade máxima sem comprometer a velocidade de upload.
- Requisitos:
- Otimizar o processo de upload para funcionar de forma rápida, mesmo com conexões lentas.
- Critérios de Aceitação:
- O tempo de upload deve ser reduzido em pelo menos 30% em relação ao sistema atual.
2. Redução do Tamanho do Executável
- Descrição: O aplicativo tem um tamanho de 100 MB, o que dificulta seu uso em dispositivos com menor capacidade. É Necessário otimizar o tamanho do aplicativo.
- Requisitos:
- Revisar dependências e remover bibliotecas não utilizadas.
- Implementar técnicas de minificação e otimização do código.
- Critérios de Aceitação:
- O tamanho do executável deve ser reduzido em pelo menos 30% sem perda de funcionalidade.
3. Paginação do Carregamento de Tabelas do Sistema Legado
- Descrição: O aplicativo carrega atualmente quatro tabelas do sistema legado (conta, centro de custo, local e planta de seguro) de uma só vez, afetando a performance. A ideia é implementar paginação para tornar o processo mais eficiente.
- Requisitos:
- Implementar paginação no carregamento dessas tabelas, permitindo carregamento parcial dos dados.
- Critérios de Aceitação:
- A performance de carregamento das tabelas deve melhorar visivelmente, sem afetar a integridade dos dados.
4. Criação de Log de Controle
- Descrição: Implementar um sistema de log para monitoramento de falhas durante o envio de fotos e gravação de dados.
- Requisitos:
- Criar logs de controle para:
1. Envio de fotos.
2. Gravação de dados no banco de dados.
- Implementar uma rotina de verificação para identificar e notificar problemas nas operações.
- Garantir que os logs sejam acessíveis para fins de auditoria.
- Critérios de Aceitação:
- Logs devem ser gerados automaticamente e armazenados de forma segura.
- O sistema deve alertar em caso de falha no envio ou gravação de dados.
5. Revisão Geral do Código
- Descrição: Revisar todo o código do aplicativo para identificar oportunidades de melhoria, correções de falhas e evitar crashes.
- Requisitos:
- Analisar a estrutura do código, buscando inconsistências e oportunidades de otimização.
- Corrigir falhas conhecidas e prevenir crashes.
- Documentar as mudanças realizadas.
- Critérios de Aceitação:
- O aplicativo deve ter uma performance melhorada e ser estável em diferentes dispositivos.
Sugestões Adicionais
- Implementação de Cache: Considerar o uso de cache para reduzir a necessidade de consultas frequentes ao banco de dados.
- Feedback do Usuário: Implementar uma funcionalidade para que o usuário possa enviar feedback diretamente do aplicativo.
- Teste Automatizado: Criar scripts de teste automatizados para verificar a estabilidade do aplicativo após as alterações.
Critérios de Avaliação para Propostas
- Experiência prévia com Flutter e SQLite.
- Capacidade de otimizar APIs e processos de upload de mídia.
- Habilidade em revisão de código e aplicação de melhores práticas.
Considerações Finais
O desenvolvedor selecionado deverá fornecer um plano detalhado de ação com estimativas de tempo e esforço para cada etapa das modificações acima mencionadas.
Colocar preço por item.
Contexto Geral do Projeto
O aplicativo é utilizado para levantamento de dados e captura de fotos, com armazenamento local em um banco de dados SQLite (Db3) e sincronização com um servidor remoto através de uma api rest desenvolvida em java com spring boot. Ele deve operar tanto offline quanto online.
Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Não se aplica
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Funções necessárias Desenvolvedor
Prazo de Entrega: Não estabelecido
Habilidades necessárias