Git Product home page Git Product logo

maptrack's Introduction

MapTrack (em desenvolvimento)

Este é um aplicativo Android em desenvolvimento que permitirá ao usuário registrar seu deslocamento em tempo real e visualizar rotas anteriores em um mapa interativo.

Tecnologias Utilizadas:

O aplicativo está sendo desenvolvido utilizando as seguintes tecnologias:

Kotlin como linguagem de programação principal.

LiveData e ViewModel para gerenciamento de dados e comunicação entre componentes.

Service para execução em segundo plano do registro de localização do usuário.

Room Persistence Library para armazenar as informações de localização do usuário em um banco de dados SQLite.

MPAndroidChart para apresentação de gráficos com informações de deslocamento.

Dagger Hilt como framework para injeção de dependências.

Google Maps para desenhar o mapa e as rotas do usuário.

Glide para carregar imagens de forma eficiente.

Navigation para navegação entre telas do aplicativo.

Coroutines para execução de tarefas assíncronas de forma simplificada.

Arquitetura Utilizada:

O aplicativo segue o padrão de arquitetura MVVM (Model-View-ViewModel), que separa a lógica de negócios da interface do usuário. A arquitetura MVVM é recomendada para aplicativos Android devido à sua facilidade de teste, modularidade e escalabilidade.

Recursos de Funcionalidade (planejados):

O aplicativo terá os seguintes recursos de funcionalidade:

Registro de deslocamento em tempo real, que poderá ser feito em background.

Visualização de rotas anteriores do usuário em um mapa interativo.

Estatísticas sobre as atividades de deslocamento do usuário, incluindo distância percorrida e tempo gasto em movimento.

Apresentação de gráficos com informações de deslocamento.

Como Contribuir

Se você quiser contribuir para o desenvolvimento deste aplicativo, sinta-se à vontade para enviar pull requests ou issues. Todas as contribuições são bem-vindas! Por favor, esteja ciente de que este aplicativo está em desenvolvimento e pode estar sujeito a mudanças significativas no futuro.

maptrack's People

Contributors

lucasoliveirasimao avatar

Stargazers

Matheus  avatar

Watchers

 avatar

maptrack's Issues

Corrigir Bug para Exibir Mapa com Estilo Dark no Android 12

Descrição

Atualmente, tem um problema específico ao tentar exibir o mapa com o estilo dark em dispositivos Android 12.

Tarefas

Investigação do Bug

  • Identificar a origem do problema ao investigar o código relacionado à exibição do mapa com o estilo dark.
  • Verificar se há mensagens de erro específicas para dispositivos Android 12 no console ou logs.

Testes em Dispositivos Android 12

  • Realizar testes em dispositivos Android 12 para verificar se a correção foi eficaz.
  • Certificar-se de que o estilo dark está sendo aplicado corretamente ao mapa.

Implementar Lógica de Permissão de Localização

Atualmente, o aplicativo não impede que o usuário inicie um novo trajeto, mesmo se a permissão for negada. Para melhorar a experiência do usuário, é fundamental que se implemente uma lógica para solicitar a permissão do usuário quando ela for negada e evitar que ele inicie um novo trajeto sem a devida autorização.

Quando o usuário tentar iniciar um novo trajeto sem conceder permissão de localização, o aplicativo deve:

  • Exibir um pop-up explicando a necessidade da permissão de localização.
  • Impedir que o usuário inicie um trajeto até que a permissão seja concedida.

Recomendações Adicionais:

  • A mensagem exibida no pop-up deve ser informativa e transparente, explicando como a localização será usada e por que é importante para a funcionalidade do aplicativo.
  • Certifique-se de que o aplicativo seja capaz de lidar com diferentes cenários, como permissão negada, permissão concedida, permissão revogada posteriormente, etc.

Implementar Opção de Clicar em Item da Lista para Exibir Detalhes

Descrição

Atualmente, a aplicação lista informações, mas não oferece a capacidade de exibir detalhes de um item específico ao clicar nele. Esta issue destina-se a implementar a funcionalidade de clique em um item da lista para exibir detalhes detalhados, proporcionando uma experiência de usuário mais completa e informativa.

Tarefas

Análise da Lista Existente

  • Avaliar a estrutura da lista atual para entender como os itens são exibidos.

Design da Exibição de Detalhes

  • Criar um layout que exiba os detalhes do item selecionado de forma clara e organizada.

Implementação da Exibição de Detalhes

  • Atualizar o código-fonte para incluir a lógica de exibição de detalhes ao clicar em um item da lista.
  • Certificar-se de que os detalhes são recuperados corretamente e exibidos na interface do usuário.

Alterar Estilo do Mapa para Modo Escuro

Descrição

Atualmente, o estilo do mapa da aplicação está configurado para o modo claro. Esta issue tem como objetivo implementar a alteração do estilo do mapa para o modo escuro, proporcionando uma experiência visual mais agradável em ambientes de baixa luminosidade.

Tarefas

Atualizar Estilo do Mapa:

  • Identificar o serviço ou biblioteca de mapas utilizado em nossa aplicação.
  • Configurar o estilo do mapa para refletir o modo escuro.

Revisão Visual

  • Realizar uma revisão visual da aplicação para garantir que o novo estilo do mapa esteja integrado de maneira coesa com o restante da interface.

Adicionar Aviso sobre Ativação de Dados Móveis para Renderização do Mapa

Descrição

Atualmente, alguns usuários podem não estar cientes de que é necessário ativar os dados móveis para que o aplicativo renderize corretamente o mapa. Esta issue tem como objetivo melhorar a experiência do usuário, adicionando um aviso claro que incentiva os usuários a ativar os dados móveis e esclarece que a renderização do mapa não consome dados móveis significativos.

Tarefas

Design do Aviso

  • Criar um aviso claro e informativo sobre a necessidade de ativar os dados móveis para a renderização do mapa.
  • Certificar-se de que o aviso seja intuitivo e fácil de entender.

Implementação do Aviso

  • Integre o aviso no fluxo de interação do aplicativo, especialmente em áreas onde os usuários iniciam a visualização do mapa.

Testes de Usabilidade

  • Realizar testes de usabilidade para garantir que o aviso seja eficaz e que os usuários compreendam a importância de ativar os dados móveis.

Refatorar Função de Calcular Distância Percorrida com Aplicação de Princípios SOLID e Clean Code na Arquitetura MVVM e Arquitetura Limpa

Descrição

A função responsável por calcular a distância percorrida precisa passar por uma refatoração para seguir melhores práticas de codificação, aplicando os princípios SOLID e conceitos de Clean Code. Além disso, a refatoração deve considerar a adoção das arquiteturas MVVM e Clean Architecture para melhor organização e manutenção do código.

Tarefas

Análise do Código Existente

  • Revisar a função atual de cálculo de distância percorrida para entender sua lógica e possíveis pontos de melhoria.
  • Identificar oportunidades para aplicar princípios SOLID, especialmente o princípio da Responsabilidade Única (SRP).

Reorganização da Arquitetura

  • Implementar a arquitetura MVVM (Model-View-ViewModel) para separar a lógica de negócios da interface do usuário.
  • Adotar os princípios de Clean Architecture para garantir uma separação clara entre as camadas de negócios e infraestrutura.

Refatoração da Função de Cálculo

  • Aplicar o princípio SRP, dividindo a função em métodos menores, cada um responsável por uma única tarefa.
  • Melhorar a nomenclatura de variáveis e métodos para tornar o código mais legível e compreensível.

Testes Unitários

  • Implementar testes unitários para garantir que a refatoração não introduza regressões na funcionalidade de cálculo de distância percorrida.

Criar Tela Responsiva para Resolução hdpi

Descrição

Atualmente, a aplicação não oferece suporte ideal para dispositivos com resolução hdpi. Esta issue tem como objetivo criar uma tela responsiva específica para essa resolução, garantindo uma experiência de usuário consistente em dispositivos com essa densidade de pixels.

Tarefas

Análise da Resolução hdpi

  • Avaliar as áreas da aplicação que precisam de ajustes para melhor se adaptar à resolução hdpi.

Design da Tela Responsiva

  • Criar um layout responsivo que funcione bem na resolução hdpi.

Implementação do Layout Responsivo

  • Atualizar o código-fonte para incluir o layout responsivo específico para a resolução hdpi.
  • Ajustar elementos da interface, como tamanhos de fonte, margens e proporções, para garantir uma aparência adequada.

Testes de Responsividade

  • Realizar testes em dispositivos com resolução hdpi para verificar a eficácia do novo layout responsivo.
  • Certificar-se de que todos os elementos da tela são exibidos corretamente e são interativos.

Adicionar Pipeline de Deploy na Play Store

Descrição

Atualmente, o projeto não possui um pipeline de deploy configurado no GitHub Actions. o pipeline deve incluir as seguintes etapas: linting, teste unitário, geração do arquivo Android App Bundle (AAB) e o deploy automático na Play Store. Além disso, os resultados do lint, dos testes unitários e o arquivo AAB gerado sejam enviados como artefatos para referência, e que o deploy na Play Store seja acionado automaticamente após o merge de um pull request na branch master.

Tarefas

  • Configurar Pipeline no GitHub Actions: Adicionar um arquivo de configuração para o GitHub Actions (por exemplo, .github/workflows/deploy.yml). Configurar o pipeline para ser acionado automaticamente em pull requests para a branch master.

  • Etapa de Linting: Adicionar uma etapa para executar o processo de lint no código-fonte do projeto. Salvar os resultados do lint em um arquivo ou diretório para referência posterior.

  • Etapa de Teste Unitário: Adicionar uma etapa para executar os testes unitários do projeto. Salvar os resultados dos testes unitários em um arquivo ou diretório para referência posterior.

  • Etapa de Geração de AAB: Adicionar uma etapa para gerar o arquivo Android App Bundle (AAB) a partir do código-fonte. Salvar o AAB gerado em um arquivo ou diretório para referência posterior.

  • Upload de Artefatos: Configurar o pipeline para fazer upload dos resultados do lint, dos testes unitários e do arquivo AAB gerado como artefatos para a página de ações do GitHub.

  • Deploy na Play Store: Adicionar uma etapa para realizar o deploy automático na Play Store após a conclusão bem-sucedida das etapas anteriores. Configurar as credenciais e as informações necessárias para o deploy.

Atualizar Esquema de Cores do Aplicativo

Descrição

Atualmente, o esquema de cores do nosso aplicativo precisa ser atualizado para fornecer uma experiência visual mais consistente e atraente. Esta issue propõe a alteração das cores principais, de texto e de botões conforme especificado abaixo:

  • Cor Principal: #111111
  • Cor dos Textos: #FFFFFF
  • Cor dos Botões: #0000FF

Tarefas

  1. Atualização das Folhas de Estilo
  • Identificar os arquivos de estilo relevantes no projeto.
  • Atualizar as propriedades de cor para refletir a nova cor principal (#111111), a cor dos textos (#FFFFFF) e a cor dos botões (#0000FF).
  1. Revisão Visual
  • Realizar uma revisão visual completa do aplicativo para garantir que as novas cores proporcionem uma aparência coesa e agradável.

Criar Tela Responsiva

Descrição

A tela do aplicativo atualmente não oferece suporte ideal para todos dispositivos. Esta issue tem como objetivo criar uma tela responsiva , garantindo uma experiência de usuário consistente.

Tarefas

Análise da Resolução

  • Avaliar as áreas da aplicação que precisam de ajustes para melhor se adaptar à resolução.

Implementação do Layout Responsivo

  • Atualizar o código-fonte para incluir o layout responsivo.
  • Ajustar elementos da interface, como tamanhos de fonte, margens e proporções, para garantir uma aparência adequada.

Testes de Responsividade

  • Realizar testes em dispositivos para verificar a eficácia do novo layout responsivo.
  • Certificar-se de que todos os elementos da tela são exibidos corretamente e são interativos.

Adicionar Bottom AppBar com FAB na Tela Inicial

Descrição da Tarefa

Adicionar uma Bottom AppBar com Floating Action Button (FAB) à tela inicial do aplicativo, seguindo as diretrizes de design especificadas.

Tarefas Específicas

Implementar a Bottom AppBar:

  • Criar um layout para a Bottom AppBar na tela inicial.
  • Configurar os itens de menu na Bottom AppBar conforme necessário.

Adicionar Floating Action Button (FAB):

  • Integrar um Floating Action Button à Bottom AppBar.
  • Associar ações específicas ao clique no FAB.

Critérios de Aceitação

  • A Bottom AppBar e o FAB devem ser visíveis na tela inicial do aplicativo.
  • Os itens de menu na Bottom AppBar devem funcionar corretamente.
  • O FAB deve executar a ação específica designada quando clicado.

Bottom AppBar with FAB

Corrigir Bug no Início do Registro de Trajeto no Mapa

Descrição

Atualmente, o app tem um problema em que o botão destinado a iniciar o registro do trajeto do usuário não está funcionando conforme esperado. Esta issue destina-se a corrigir esse bug, permitindo que os usuários iniciem o registro de trajeto no mapa sem problemas.

Tarefas

Investigação do Bug

  • Identificar a origem do problema ao investigar o código relacionado ao botão de início do registro de trajeto.
  • Verificar se há mensagens de erro no console ou logs que possam fornecer insights sobre o problema.

Correção do Código

  • Implementar as correções necessárias no código para garantir que o botão de início do registro de trajeto funcione corretamente.
  • Certificar-se de que a lógica de inicialização do registro de trajeto está correta.
  • Certificar-se de que o registro de trajeto é iniciado no mapa conforme esperado.
  • Verificar se a correção foi bem-sucedida reproduzindo o cenário do bug antes e depois da implementação da solução.

Adicionar Pipeline de Build

Descrição

Atualmente, não tem uma pipeline de build configurado para o projeto. Este problema destina-se a adicionar um pipeline no GitHub Actions que execute as seguintes etapas: lint, teste unitário e geração de um arquivo AAB (Android App Bundle). Além disso, os resultados do lint, dos testes unitários e o arquivo AAB gerado sejam enviados como artefatos para referência e revisão.

Tarefas

  • Configurar Pipeline no GitHub Actions: Adicionar um arquivo de configuração para o GitHub Actions (por exemplo, .github/workflows/build.yml). Configurar o pipeline para ser acionado em pull requests para branches específicos, como develop.

  • Etapa de Linting: Adicionar uma etapa para execução do lint no código-fonte do projeto. Salvar os resultados do lint em um arquivo ou diretório para referência posterior.

  • Etapa de Teste Unitário: Adicionar uma etapa para executar os testes unitários do projeto. Salvar os resultados dos testes unitários em um arquivo ou diretório para referência posterior.

  • Etapa de Geração de AAB: Adicionar uma etapa para gerar o arquivo Android App Bundle (AAB) a partir do código-fonte. Salvar o AAB gerado em um arquivo ou diretório para referência posterior.

  • Upload de Artefatos: Configurar o pipeline para fazer upload dos resultados do lint, dos testes unitários e do arquivo AAB gerado como artefatos para a página de ações do GitHub.

Atualizar Pipelines de Build e Deploy para a Versão Mais Recente

Descrição

Os pipelines de build e deploy atualmente em uso estão em uma versão mais antiga e é necessário atualizá-los para incorporar as melhorias, correções de segurança e recursos mais recentes disponíveis nas versões mais recentes das ferramentas e serviços utilizados. Esta issue destina-se a garantir que os pipelines estejam alinhados com as versões mais recentes para manter a eficiência e a segurança do processo de construção e implantação.

Tarefas

Análise das Versões Atuais

  • Identificar as versões atuais das ferramentas e serviços utilizados nos pipelines de build e deploy.

Atualização das Configurações

  • Atualizar as configurações dos pipelines para refletir as versões mais recentes das ferramentas de build, testes e deploy.

Testes de Build e Deploy Atualizados

  • Realizar testes completos para garantir que as atualizações não impactem negativamente o processo de build e deploy.
  • Verificar se todas as dependências são compatíveis com as versões mais recentes.

Correção de Problemas de Compatibilidade

  • Corrigir quaisquer problemas de compatibilidade que possam surgir devido às atualizações.

Refatorar Função de Calcular Velocidade Média

Descrição

A função responsável por calcular a velocidade média no código precisa passar por uma refatoração para seguir melhores práticas de codificação, aplicando os princípios SOLID e conceitos de Clean Code. Além disso, a refatoração deve considerar a adoção das arquiteturas MVVM e Clean Architecture para melhor organização e manutenção do código.

Tarefas

Análise do Código Existente

  • Revisar a função atual de cálculo de velocidade média para entender sua lógica e possíveis pontos de melhoria.
  • Identificar oportunidades para aplicar princípios SOLID, especialmente o princípio da Responsabilidade Única (SRP).

Reorganização da Arquitetura

  • Implementar a arquitetura MVVM para separar a lógica de negócios da interface do usuário.
  • Adotar os princípios de Clean Architecture para garantir uma separação clara entre as camadas de negócios e infraestrutura.

Refatoração da Função de Cálculo

  • Aplicar o princípio SRP, dividindo a função em métodos menores, cada um responsável por uma única tarefa.
  • Melhorar a nomenclatura de variáveis e métodos para tornar o código mais legível e compreensível.

Testes Unitários

  • Implementar testes unitários para garantir que a refatoração não introduza regressões na funcionalidade de cálculo de velocidade média.

Atualizar Ícone Principal do Aplicativo

Descrição

O ícone principal do aplicativo precisa ser atualizado para refletir uma identidade visual mais atualizada e coesa.

Tarefas

Implementação do Novo Ícone

  • Substituir o ícone atual por meio da atualização dos recursos de imagem nos diretórios apropriados do projeto.

Testes de Exibição

  • Realizar testes para garantir que o novo ícone seja exibido corretamente em diferentes tamanhos e resoluções de tela.

Criar Função de Exclusão ao Deslizar Lateralmente em um Item da Lista

Descrição

Atualmente, a aplicação não oferece a funcionalidade de excluir um item da lista de forma intuitiva. Esta issue destina-se a implementar uma função que permita aos usuários excluir um item da lista ao deslizar lateralmente sobre ele, proporcionando uma interação mais eficiente e amigável.

Tarefas

Implementação da Funcionalidade de Exclusão

  • Atualizar o código-fonte para incluir a lógica que permite aos usuários deslizar lateralmente sobre um item para acionar a opção de exclusão.
  • Certificar-se de que a exclusão seja confirmada para evitar exclusões acidentais.

Criar Tela Responsiva para Resolução mdpi

Descrição

Atualmente, oaplicativo não oferece suporte ideal para dispositivos com uma resolução de tela de 320x480 pixels. Esta issue tem como objetivo criar uma tela responsiva específica para essa resolução, garantindo uma experiência de usuário consistente em uma variedade de dispositivos.

Tarefas

Análise da Resolução 320x480

  • Avaliar as áreas da aplicação que precisam de ajustes para melhor se adaptar à resolução de 320x480 pixels.

Implementação do Layout Responsivo

  • Atualizar o código-fonte para incluir o layout responsivo específico para a resolução de 320x480 pixels.
  • Ajustar elementos da interface, como tamanhos de fonte, margens e proporções, para garantir uma aparência adequada.

Testes de Responsividade

  • Realizar testes em dispositivos com resolução de 320x480 pixels para verificar a eficácia do novo layout responsivo.
  • Certificar-se de que todos os elementos da tela são exibidos corretamente e são interativos.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.