O projeto TicTacToe é uma iniciativa da Hackathon de Dezembro de 2024 da Turma 4 do Programa 1000Devs pela mesttra em parceria com a Johnson & Johnson Medtech e o Hospital Israelita Albert Einstein. O Professor Rogério de Freitas organizou o evento para ser um Jogo da Velha com desafios técnicos e de lógica, onde os participantes devem integrar as funcionalidades em equipe. O nome dado ao projeto é TicTacToe.
O TicTacToe é um projeto colaborativo que une aprendizado prático e trabalho em equipe. Ele foi desenvolvido para aplicar e testar conceitos amplamente utilizados no mercado de tecnologia, proporcionando uma experiência rica em desenvolvimento de habilidades técnicas e interpessoais.
- Linguagem de programação utilizada
- Gerenciador de dependências
- Gerenciamento de Cores do CLI
- Interface de linha de comando utilizada para interação com o jogo
- Jogue contra o Computador - Permite qvocê jogue contre a máquina uma partida de Jogo da Velha pela CLI.
- Exibição Gráfica no Console - Interface simples e limpa para visualização do tabuleiro de jogo.
- Verificação de Vencedor - O jogo verifica automaticamente se há um vencedor após cada jogada.
- Reinício de Jogo - Permite que os jogadores reiniciem uma nova partida após o término.
Abaixo estão os integrantes da equipe TicTacToe. Cada um contribuiu de forma significativa para o sucesso do projeto:
Jorge Luis | José Victor Venetillo | Arthur Ramalho Freire |
Gilvan Ribeiro | Luan Nascimento | Hyngred Menezes |
- Quer ter acesso a documentação técnica? clique aqui para ter o acesso completo.
Como líder técnico, minha prioridade foi garantir que a equipe tivesse acesso a toda a documentação necessária e às pesquisas relacionadas às ferramentas e metodologias que seriam utilizadas. O objetivo era criar um ambiente de trabalho que simulasse o dia a dia corporativo, incluindo demandas, tarefas, e o fluxo completo de desenvolvimento de software.
A equipe foi instruída a adotar as seguintes práticas:
- Controle de versão: Utilizamos Git/GitHub com o padrão Git Flow para organizar as branches de desenvolvimento.
- Convenção de commits: Aplicamos uma convenção clara para manter o histórico do repositório legível e organizado.
- Gerenciamento de tarefas: Criamos issues no GitHub para registrar demandas e problemas, com prazos e responsáveis definidos.
- Revisão de código: Trabalhamos com Pull Requests para revisar e validar alterações antes de integrá-las ao projeto.
Para organizar as atividades:
- Um quadro Kanban no GitHub foi criado para gerenciar o backlog, tarefas em andamento e concluídas. Isso garantiu uma visão clara do progresso do projeto. O Kanban pode ser acessado aqui.
- As tarefas foram atribuídas a branches específicas, sendo integradas na branch
development
após a conclusão e revisão.
Adotamos o seguinte fluxo de trabalho:
- Criação de branches: Cada funcionalidade ou ajuste era desenvolvido em uma branch específica, com o nome da sua tarefa, a mesma era criada espelhando a branch de desenvolvimento, a
development
. - Pull Requests: Após a conclusão de uma tarefa, um PR era criado para revisão de código, garantindo que as alterações estivessem alinhadas com as boas práticas e os requisitos do projeto. Os PRs fechados estão disponíveis aqui.
- Integração: Após a aprovação, o código era integrado à branch
development
. - Deploy: Após a integração com a
development
, é feito um PR para a branchmain
para o deploy, fazendo o gerenciamento de versão da aplicação, com a disponibilização de changelog de correções e novas funcionalidades.
As issues documentaram todas as tarefas e problemas identificados, sendo associadas a prazos e responsáveis. Isso garantiu uma gestão eficiente do progresso do projeto. Todas as issues fechadas podem ser consultadas aqui.
Essa abordagem proporcionou uma experiência prática de desenvolvimento ágil, refletindo o trabalho colaborativo em equipes reais. Cada membro teve a oportunidade de contribuir, aprender e aplicar boas práticas de programação, resultando em uma aplicação funcional, bem estruturada e com um fluxo de trabalho eficiente.
"Gerir este projeto foi uma grande experiência como Desenvolvedor, ajudar os meus colegas e amigos no crescimento e conhecimento é algo sem prescedentes, trazer a dinâmica real em trabalho foi a minha principal missão e meta, fico com a sensação de dever cumprido."
"Participar da Hackathon foi uma experiência transformadora. Trabalhar em equipe, trocar ideias e enfrentar desafios em tempo real foi incrível. Pude colocar em prática minhas habilidades, aprender com os demais colegas de grupo e sair com a sensação de realização. Mais do que o resultado, o aprendizado e as conexões construídas foram o maior prêmio."
"Experiência extremamente gratificante participar deste Hackathon da 1000Devs, onde pude colaborar sendo monitor de soft skills. Trabalhamos em equipe, enfrentamos o desafio juntos e o resultado obtido é consequência do nosso esforço. Finalizo esse hackathon feliz e confiante que todo o esforço foi recompensado."
"Participar deste Hackathon, através do Programa 1000Devs, foi uma experiência maravilhosa. Pude vivenciar na prática como funciona o trabalho de um programador e trabalhar em um ambiente colaborativo onde todos contribuíram para o projeto. Embora possa parece comum para alguns, para mim, que estou iniciando na área, foi uma sensação de dever cumprido junto com a equipe."
"Para mim, participar desta edição do Hackathon da 1000Devs foi uma experiência enriquecedora, na qual eu pude ser capaz de testar meu conhecimento adquirido até o momento no limite. Além disso, pude conhecer e me aprofundar mais em conceitos referentes a versionamento de código e GitHub, graças a ajuda e disponibilidade dos nossos monitores. Trabalho em equipe e o uso de metodologias ágeis também não ficam de fora, proporcionando-me ferramentas de muito valor para minha carreira em desenvolvimento."
"O Hackathon da 1000 Devs foi um aprendizado ímpar! Foi incrível a troca de conhecimento e também o empenho de todos os participantes. Isso me trouxe ainda mais motivação para seguir me especializando e crescendo na carreira de desenvolvimento. Levo daqui boas amizades e, com certeza, muito aprendizado."
- JRE 1.8 - Necessário para rodar a aplicação.
- OBS: Em caso de Compilação, ou seja, caso quiser rodar o projeto no seu Ambiente de Desenvolvimento, será necessário a instalação do binário do Maven e localmente a Biblioteca ConsoleClear.
Para a instalação da biblioteca, insira o comando abaixo já tendo o Maven instalado na sua máquina em um terminal (CMD ou GitBash), substituindo a palavra DIRETÓRIO pelo diretório onde você fez o clone do projeto:
mvn install:install-file -Dfile="DIRETÓRIO\lib\ConsoleClear-1.0.0.jar" -DgroupId=net.jorgedev -DartifactId=ConsoleClear -Dversion=1.0.0 -Dpackaging=jar
- Faça o download da aplicação clicando aqui
- Escolha entre o arquivo executável Windows (exe) ou o .jar.
- Caso escolha o .jar, abra o terminal na pasta onde o arquivo foi baixado e execute:
java -jar TicTacToe.jar
- Faça o download da aplicação clicando aqui
- Mova o arquivo .jar para um local de sua escolha no sistema.
- Torne o arquivo executável e execute o jogo:
chmod +x TicTacToe.jar java -jar TicTacToe.jar
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para mais detalhes.