Skip to content

Latest commit

 

History

History
26 lines (23 loc) · 2.27 KB

roadmap.md

File metadata and controls

26 lines (23 loc) · 2.27 KB

Escopo Inicial

  1. Nome da Aplicação: A aplicação se chamará gPush.
  2. Tecnologias: A aplicação será escrita em Go, utilizando as bibliotecas Cobra e Bubbletea.
  3. Identificação do Repositório Original: Ao ser executada, a aplicação deverá identificar o repositório remoto já definido no projeto (originalRepo).
  4. Menu Inicial: A aplicação apresentará um menu inicial com as seguintes opções:
    • Fazer um git pull --no-ff do originalRepo.
    • Fazer um commit com uma mensagem definida pelo usuário.
    • Fazer um git push para ambos os repositórios (originalRepo e repositório de backup).
    • Acessar as configurações (settings), que incluirão as seguintes opções:
      • Definir ou editar o repositório de backup.
      • Definir ou editar o originalRepo.
      • Gerenciar credenciais (login, senha, ssh, etc).

Novas Features (Sugestões)

  1. Testes: Incluir testes unitários e de integração para garantir a correta funcionalidade da aplicação.
  2. Documentação: Criar uma documentação detalhada, incluindo comentários no código e um README completo.
  3. Logging e Debugging: Adicionar funcionalidades de logging para auxiliar na depuração e entendimento do funcionamento da aplicação.
  4. Suporte a Múltiplos Repositórios: Expandir a aplicação para suportar o gerenciamento de múltiplos repositórios de backup.
  5. Autenticação de Dois Fatores: Adicionar suporte para autenticação de dois fatores, se estiver lidando com credenciais de usuário.
  6. Integração com Outras Ferramentas de Desenvolvimento: Considerar a integração com outras ferramentas de desenvolvimento, como IDEs.
  7. Atualizações Automáticas: Adicionar uma funcionalidade que verifica se há atualizações para a CLI e oferece ao usuário a opção de instalá-las.
  8. Internacionalização: Adicionar suporte para múltiplos idiomas, se a aplicação for disponibilizada para usuários de diferentes países.
  9. Suporte a Diferentes Sistemas de Controle de Versão: Adicionar suporte para outros sistemas de controle de versão além do Git.
  10. Interface Gráfica do Usuário (GUI): Considerar a adição de uma GUI para tornar a aplicação mais acessível para usuários que preferem essa interface.