Sejam bem-vindos ao repositório do sistema XadrezSuíço! Aqui está o código-fonte e outras informações importantes sobre o projeto.
É uma plataforma de gerenciamento de Circuitos de Xadrez. A ideia da plataforma é algo que possa simplificar o processo pré e pós eventos, ajudando no recebimento das inscrições das etapas dos circuitos e depois podendo efetuar a classificação geral do circuito.
Claro que sim! O código está neste repositório, porém, o mesmo está ainda em desenvolvimento, com algumas funções ainda não funcionando, mas já é possível começar a trabalhar com o mesmo.
Não, se trata de um software livre licenciado por uma licença reciproca total, ou seja, se trata de uma licença que caso faça um fork (garfo em inglês, que tem o significado de fazer uma cópia do projeto para você poder trabalhar) do projeto e efetue alterações no mesmo, não seja possível alterar a licença a ser disponibilizada, ou seja, a licença da versão modificada deverá ser a mesma que aqui está. No caso foi escolhida a licença GPL de versão 3, por se tratar da versão mais atualizada da licença e também para garantir que este software continue livre para todo o sempre.
O XadrezSuíço é desenvolvido em PHP com o framework Laravel, podendo ser utilizados vários tipos de bancos de dados, mas o que mais foi focado para o sistema foi o MySQL/MariaDB, que inclusive é o que recomendamos para uso.
Não! E isso é uma das coisas mais bacanas deste projeto: ao receber um cadastro com o ID FIDE ou CBX, passado alguns minutos, o mesmo irá importar os ratings para o sistema!
IMPORTANTE! Considerando os ratings FIDE e CBX, o XadrezSuíço por enquanto apenas está trabalhando com os Ratings Rápido. Já está na lista fazer atualização no sistema que permita o uso dos Ratings de Blitz e Convencional, mas ainda não está implementado.
Bom, preciso personificar um pouco aqui, para deixar mais claro o que acontece neste caso. O idealizador do Projeto, João Paulo Polles, é árbitro de Xadrez há mais de 4 anos, e quando o mesmo iniciou a atuar em competições, principalmente como Árbitro Mesa, percebeu que faltava algo para ajudar os árbitros nas competições. Nesta época, o mesmo já fazia o Curso Técnico em Informática e estava o fazendo integrado ao Ensino Médio.
Então surgiu a ideia de tentar modernizar um pouco o uso de softwares pelos árbitros de xadrez, visto que a maioria utilizava-se (e ainda utiliza) do software Swiss Perfect 98, software criado nos anos 90 para gerenciamento de torneios de xadrez.
O Swiss Perfect 98 até é competente, mas peca em vários quesitos:
- O software por ser muito antigo, não atende diversos tipos de critérios de desempate atuais, como por exemplo o Confronto Direto;
- O software não aceita importação de dados de outras fontes;
- E o principal de todos: até hoje não conheço um árbitro que tenha a licença deste software (SIM! O Swiss Perfect 98 é PAGO!)
Com isso, veio a ideia de desenvolver um software open-source para gerenciamento de torneios de xadrez, porém a tentativa da execução do mesmo se deu já na Faculdade, mais precisamente na Disciplina de "Projeto Experimental II" do curso de Tecnologia em Análise e Desenvolvimento de Sistemas do Centro Universitário UNIVEL, e tive ajuda de alguns colegas que estavam em meu grupo.
Passou-se um tempo, e percebi que não valeria muito a pena o desenvolvimento de um software para isto, e que eu teria outro problema um tanto maior que este: O gerenciamento dos Circuitos de Xadrez. Este problema eu percebi pouco tempo depois do início daquele projeto, e resolvi que era necessário o desenvolver.
Com isso, no início de 2019 dei início ao projeto que viria a se tornar o XadrezSuíço. E agora, meses depois do início do desenvolvimento decidi que era hora de começar a publicação pública do software.
Então, o mesmo ainda está em desenvolvimento, e assim que o mesmo estiver finalizado irei trabalhar em uma documentação explicando alguns conceitos importantes sobre o software.
O software foi desenvolvido em Laravel, então é o mesmo procedimento de qualquer software desenvolvido com o mesmo, porém, irei deixar uma breve descrição aqui:
- Instalar as dependências do Composer (composer install)
- Criar um arquivo de variáveis de ambiente (.env) a partir do exemplo (.env.example) e configurar pelo menos as variáveis de banco, email e url do sistema
- Efetuar a migração do banco de dados (php artisan migrate)
- Criar a chave do aplicativo (php artisan key:generate)
- Criar o primeiro usuário (recomendamos usar o comando 'php artisan tinker' para criar este usuário, visto que não é possível criar pelo formulário público) e definir a permissão do mesmo com o Perfil de código 1 (Super-administrador) - Em breve devo fazer uma atualização que já cria um usuário padrão no sistema.
- Começar a utilizar o sistema!
Você pode sugerir alterações através das issues! Estaremos "escutando", digamos desta forma.
CLARO! Faça um fork do projeto e nos ajude a deixar esse projeto ainda com ainda mais funcionalidades!
- Agora o cálculo de rating é efetuado pelo XadrezSuíço. Para tal, o evento deve calcular o rating e estar vinculado com o Tipo de Rating que é gerenciado pelo XadrezSuíço, e além de importar os resultados, deve-se importar os emparceiramentos com os seus devidos resultados. Além disso, deve-se atentar aos W.O.s para que não seja efetuado o cálculo erroneamente - Issue #54.
- Em toda inscrição há um campo onde o(a) enxadrista cede seus direitos de imagem para a organização - Issue #47.
- Há forma de criar emparceiramento de chave de semi-final/final sem disputa de 3º e 4º - #42.
- Nova tela onde engloba tanto a inscrição quanto a confirmação - Issue #35.
- Criada verificação se no cadastro do enxadrista falta alguma informação obrigatória para aquele evento, caso falte, encaminha o enxadrista para atualização cadastral - #34.
- Criado cadastro de documento, a fim de que ocorra menor quantidade de duplicidades de cadastros no sistema - #32.
- Adicionado o país de nascimento do enxadrista, necessário para poder aparecer os documentos disponíveis para aquele país - #33.
- Adicionado o código IBGE no cadastro de Cidade - #31.
- Melhoria na validação de documentos - #46.
- Implementado a confirmação pública - #55.
- Diversas outras melhorias e correções de bugs.
- As versões anteriores deixam de serem compatíveis com as versões a partir da 0.1.0.0, sendo necessária uma instalação limpa do sistema a fim de ter o seu uso.
- Categorias: As categorias agora estão vinculadas ao Grupo de Evento ou Evento, e para poder gerenciá-las, é necessário acessar a Dashboard de onde ela foi cadastrada, seja no Grupo de Evento ou então no Evento.
- Agora é possível exportar os enxadristas para poder fazer uma correção externa ou então para poder importar em outro sistema, caso necessário. Mas lembrando, que é necessário seguir a legislação vigente para isto em seu país.
- Template de Torneios: Agora estão vinculados ao Grupo de Evento, e para gerenciar é necessário acessar a Dashboard de Grupo de Evento de que ele foi criado.
- Permissões: agora todas as permissões estão de fato sendo aplicadas a fim de limitar o acesso a funções e páginas de acordo com o perfil do usuário. Finalização da issue #29.
- Correção em bug relativo a forma de armazenamento da imagem e descrição do evento.
- Agora é possível visualizar a lista de inscrições do evento de forma pública, porém, é necessário que a opção 'Permite a visualização da lista de inscrições de forma pública?' esteja selecionada - Issue #12
- A lista de Enxadristas agora é carregada de acordo com a demanda, assim deixando a lista mais rápida para ser acessada. - Issue #5
- Agora é possível definir que um evento só é permitido a realização de inscrições pelo link (Inscrições Privadas). No caso, há uma informação a mais no link que libera ou não a inscrição para este evento. - Issue #22
- Agora é possível gerar lista de Enxadristas inscritos em determinado evento. - Issue #17
- Os ratings FIDE, CBX e LBX agora são divididos pelos seus tipos: Relâmpago, Rápido e Convencional. De acordo com a seleção do tipo de modalidade escolhido no cadastro de evento será apresentado o rating de acordo com o tipo de modalidade escolhida. - Issue #8
- A classificação de evento está corrigida, agora quando é finalizada a mesma retorna ao Dashboard de Evento - Já a classificação geral, a mesma já está com a classificação sendo realizada através de solicitações AJAX - Issue #11
- Agora é possível criar Tipos de Rating dentro do sistema e suas regras. - Issue #2
- Agora há a integração do sistema com o LBXRatingServer para importação 'automática' do Rating LBX. - Issue #9
- Agora é possível definir uma imagem e um texto de apresentação do evento. - Issue #3
- Agora o email é validado quando é inserido em um cadastro de enxadrista a fim de garantir que o email é válido. Em breve apresentará uma mensagem de erro. - Issue #21
- Corrigido bug que permitia que um enxadrista se recadastrasse caso utilizasse mais espaços entre os nomes.
- A página de 'O que há de novo?' agora possui link no menu para usuários logados.
- Grupo de Evento - Agora é possível definir que a pontuação geral do enxadrista é a sua pontuação adquirida durante as etapas que participou. Para isso, é necessário configurar o Grupo de Evento, selecionando a opção 'A pontuação do enxadrista será composta pelos seus resultados?' e salvando a edição do Grupo de Evento. Após isso, caso já existam eventos classificados, será necessário reclassificá-los, antes de classificar o Grupo de Evento.
- Versão inicial do sistema em beta.