Git Product home page Git Product logo

meu-campeonato's Introduction

Meu Campeonato

Simulador de campeonatos

Descrição do projeto

Nota pessoal: Este é meu primeiro projeto utilizando Laravel como framework.

Consiste em um sistema que permite o usuário cadastrar 8 times em um campeonato, o sistema simulará os resultados e retornará um campeão no final das fases (Quartas, semifinais e finais).

Funcionalidade 1: Cadastrar times no banco de dados;
Funcionalidade 2: Simular as partidas, chaveamento e fases do campeonato;
Funcionalidade 3: Define um campeão;
Funcionalidade 4: Guarda o campeonato em um histórico;

✔️ Técnicas e tecnologias utilizadas

  • PHP
  • Laravel
  • PhpStorm IDEA
  • Sqlite
  • Eloquent
  • Bootstrap

Definição da estrutura de dados

  • Defini 3 tabelas principais que se relacionam entre si.
    Modelo do banco

  • Criei as migrations baseadas neste modelo.

Migrations

  • Para criar as tabelas no banco de dados:
php artisan migrate
  • Tabelas criadas

Tabelas

Telas e usabilidade

  • Ao abrir o programa, será apresentada a view index

index


  • Não será possível inicial um campeonato sem que todos os times estejam cadastrados

CamposRequired


  • Após o cadastro, será simulada de forma dinâmica através da view "tabela"

SimulacaoQuartas


  • E com isso a reenderização resultará na seguinte tela

TelaQuartas


  • A lógica de desempate é a seguinte (por pênaltis)
public function desempate($gols)
    {
        $diferenca = 0;
        do{
            for($i = 0; $i < 5; $i++){
                $gols['casa'] = rand(0,1);
                $gols['visitante'] = rand(0,1);
                $diferenca += ($gols['casa'] - $gols['visitante']);
                if($diferenca === 2 || $diferenca === -2){
                    break;
                }
            }
        }while($diferenca === 2 || $diferenca === -2);
        return $gols;
    }

Em desenvolvimento...


- A cada fase, o time vencedor receberá um UPDATE na fase que o mesmo possui - Conforme a fase muda, a query para busca dos times também, por exemplo: Quartas de finais = "Todos os times com ```{fase=4}```", Semi finais = "Todos os times com `{fase=2}`" e assim por diante

UpdateFase


  • Por fim, será simulada a final e definido um campeão. Atribuindo o id do time campeão ao idCampeao na tabela do campeonato em vigência, e assim por diante.

ApresentacaoCampeao


🌎 Onde você me encontra? 🌍

meu-campeonato's People

Contributors

hallisonbrancalhao avatar

Watchers

Romário Maldiny avatar  avatar

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.