Skip to content

RibeiroRibas/soccer-app

Repository files navigation

Sorteia meu time! - app

1. Sobre o App

Aplicativo em flutter para Android e IOS em desenvolvimento . A idéia surgiu a partir de uma dificuldade que eu e muitos peladeiros temos para decidir quem vai escolher os times e, quando decide, o time fica totalmente desequilibrado. Outro impecílio que também perambula pelos gramados é a substituição dos jogadores, normalmente feito por tempo ou por gol sofrido, nesse app você vai poder configurar a partida para facilitar as substituições.

Objetivo

O aplicativo tem como objetivo principal para sua primeira versão sortear de forma equilibrada, por posição, por overall e aleatória times de futebol na modalidades society ou futsal.

Funcionalidades 🔨

  1. Sortear time de forma equilibrada.
  2. Sortear times de forma Aleatória.
  3. Sortear times por posição.
  4. Sortear times por overall do jogador.
  5. Cadastrar jogadores.
  6. Cadastrar partida.
  7. Interagir com a partida em andamento.
  8. Salvar automaticamente os times sorteados após a partida.
  9. Salvar automaticamente as partidas disputadas.
  10. Mostrar histórico dde jogos.
  11. Cadastrar configurações da partida.

Características 📜

  1. Dar suporte apenas para o modo retrado.
  2. Funciona offline.
  3. SO Android e IOS.
  4. Dar suporte pra temas e cores diferentes.

2. Documentação

Arquitetura

O projeto usa como modelo de arquitetura o padrão MVVM (model-view-viewmodel). mvvm

  • model: É o modelo de domínio ou o modelo que representa os dados do backend. Modelos guardam informação mas não lidam com comportamento. Eles não formatam os dados e nem influenciam como eles serão apresentados.
  • view: Essa é única parte da aplicação que o usuário interage diretamente. Todos os componentes visuais ficam nessa camada. Todos os eventos que aqui acontecem são enviados diretamente para o view model. A View não tem a responsabilidade de processar dados e muito menos lidar com estados.
  • viewmodel: Camada que age como um intermediário entre a view e o model, processa os eventos antes de apresentar para a view. Também pode fornecer métodos para lidar com os estados da view.

Organizaçao dos pacotes

  • - toda e qualquer imagem adicionada ao projeto.
  • - toda e qualquer font de texto adicionada ao projeto.
  • - classes modelo do projeto, as que tem relação direta com o mundo real.
  • - camada para persistência de dados.
  • - camada compartilhada, toda e qualquer informação compartilhado no app, como classes e métodos úteis, mensagens de texto, themas, cores,etc.
  • - camada visual (view e viewmodel), camada de IU, interface do usuário e gerenciamento de estados.

Nomenclaturas

  • - arquivos com o final component -> componentes visuais reaproveitáveis, como um botão por exemplo.
  • - arquivos com o final layout -> estrutura base para compor um modelo de página.
  • - arquivos com o final section -> agrupamento de componentes visuais formando uma seção com o intuito de ser reaproveitada.
  • - arquivos com o final view -> representa as telas da aplicação.
  • - arquivos com o final widget -> Widgets que foram encapsulados saindo do seu escopo principal, eles não serão reaproveitaveis até que se prove o contrário.

About

This app has a goal to draw soccer teams.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages