Skip to content

TicTacToe é um projeto fruto da Hackathon de Dezembro da Turma 4 do Programa 1000Devs, unindo o trabalho em equipe e o ciclo de vida de um software.

License

Notifications You must be signed in to change notification settings

Jorgeluisreis/TicTacToe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TicTacToe Logo

GitHub last commit GitHub issues GitHub pull requests GitHub repo size License

TicTacToe

🎯 Propósito do Projeto

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.

📚 Conceito

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.

🛠️ Tecnologias Utilizadas

  • Java - Linguagem de programação utilizada
  • Maven - Gerenciador de dependências
  • Jansi - Gerenciamento de Cores do CLI
  • CLI - Interface de linha de comando utilizada para interação com o jogo

🌐 Funcionalidades

  • 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.

👥 Equipe de Desenvolvedores

Abaixo estão os integrantes da equipe TicTacToe. Cada um contribuiu de forma significativa para o sucesso do projeto:

📓 Documentação

  • Quer ter acesso a documentação técnica? clique aqui para ter o acesso completo.

🔨 Como foi o Desenvolvimento

📋 Planejamento e Liderança Técnica

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.

🛠️ Ferramentas e Metodologias Utilizadas

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.

🗂️ Organização e Gerenciamento de Tarefas

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.

🔄 Fluxo de Desenvolvimento

Adotamos o seguinte fluxo de trabalho:

  1. 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.
  2. 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.
  3. Integração: Após a aprovação, o código era integrado à branch development.
  4. Deploy: Após a integração com a development, é feito um PR para a branch main para o deploy, fazendo o gerenciamento de versão da aplicação, com a disponibilização de changelog de correções e novas funcionalidades.

🛠️ Gestão de Issues

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.

🌟 Resultados e Aprendizados

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.

💬 Depoimentos

Jorge Luis

Jorge Luis

"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."

Dezembro 2024

Arthur Ramalho Freire

Arthur Ramalho Freire

"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."

Dezembro 2024

José Victor Venetillo

José Victor Venetillo

"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."

Dezembro 2024

Gilvan Ribeiro

Gilvan Ribeiro

"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."

Dezembro 2024

Luan Nascimento

Luan Nascimento

"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."

Dezembro 2024

Hyngred Menezes

Hyngred Menezes

"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."

Dezembro 2024

📸 Imagens da Aplicação

Splash Screen

Splash Screen

Menu Principal

Menu Principal

Sobre o Jogo

Sobre o Jogo

Dentro da Partida (Tabuleiro 3x3)

Tabuleiro 3x3

Dentro da Partida (Tabuleiro 10x10)

Tabuleiro 10x10

Tela de Vitória

Tela de Vitória

📥 Requisitos Mínimos

  • JRE 1.8 - Necessário para rodar a aplicação.

🛠️ Instalação

Windows

  • 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

Tutorial de Instalação

  1. Faça o download da aplicação clicando aqui
  2. Escolha entre o arquivo executável Windows (exe) ou o .jar.
  3. Caso escolha o .jar, abra o terminal na pasta onde o arquivo foi baixado e execute:
    java -jar TicTacToe.jar

Linux

  1. Faça o download da aplicação clicando aqui
  2. Mova o arquivo .jar para um local de sua escolha no sistema.
  3. Torne o arquivo executável e execute o jogo:
    chmod +x TicTacToe.jar
    java -jar TicTacToe.jar

📄 Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para mais detalhes.

About

TicTacToe é um projeto fruto da Hackathon de Dezembro da Turma 4 do Programa 1000Devs, unindo o trabalho em equipe e o ciclo de vida de um software.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 6

Languages