https://github.com/jorgeluisreis/tictactoe
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.
https://github.com/jorgeluisreis/tictactoe
cli hackathon java
Last synced: 3 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/jorgeluisreis/tictactoe
- Owner: Jorgeluisreis
- License: mit
- Created: 2024-12-06T21:10:01.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-01-05T04:07:42.000Z (5 months ago)
- Last Synced: 2025-01-05T05:17:47.120Z (5 months ago)
- Topics: cli, hackathon, java
- Language: Java
- Homepage: https://github.com/Jorgeluisreis/TicTacToe/
- Size: 194 KB
- Stars: 2
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
# TicTacToe
## 🎯 Propósito do Projeto
O projeto **TicTacToe** é uma iniciativa da Hackathon de Dezembro de 2024 da Turma 4 do **Programa 1000Devs** pela [mesttra](https://www.mesttra.com/) em parceria com a [Johnson & Johnson Medtech](https://www.jnjmedtech.com/pt-br) e o [Hospital Israelita Albert Einstein](https://www.einstein.br/n/). O Professor [Rogério de Freitas](https://www.linkedin.com/in/rogerio-freitas-ribeiro-690a9712/) 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
-  - 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## 🌐 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:
|  |  |  |
| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| [Jorge Luis](https://www.linkedin.com/in/ojorge-luis/) | [José Victor Venetillo](https://www.linkedin.com/in/vvenetillo) | [Arthur Ramalho Freire](https://www.linkedin.com/in/arthurramalhofreire/) ||  |  |  |
| :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| [Gilvan Ribeiro](https://www.linkedin.com/in/gilvan-ribeiro-573823231/) | [Luan Nascimento](https://www.linkedin.com/in/nascmentoluan/) | [Hyngred Menezes](https://www.linkedin.com/in/hyngred-menezes-363540327/) |## 📓 Documentação
- Quer ter acesso a documentação técnica? clique [aqui](https://github.com/Jorgeluisreis/TicTacToe/wiki) 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](https://github.com/users/Jorgeluisreis/projects/2/views/1).
- 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](https://github.com/Jorgeluisreis/TicTacToe/pulls?q=is%3Apr+is%3Aclosed).
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](https://github.com/Jorgeluisreis/TicTacToe/issues?q=is%3Aissue+is%3Aclosed).
### 🌟 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**
![]()
"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**
![]()
"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**
![]()
"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**
![]()
"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**
![]()
"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**
![]()
"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
![]()
### Menu Principal
![]()
### Sobre o Jogo
![]()
### Dentro da Partida (Tabuleiro 3x3)
![]()
### Dentro da Partida (Tabuleiro 10x10)
![]()
### 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](https://maven.apache.org/download.cgi) 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:
```bash
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](https://github.com/Jorgeluisreis/TicTacToe/releases)
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:
```bash
java -jar TicTacToe.jar
```### Linux
1. Faça o download da aplicação clicando [aqui](https://github.com/SeuUsername/TicTacToe/releases)
2. Mova o arquivo .jar para um local de sua escolha no sistema.
3. Torne o arquivo executável e execute o jogo:
```bash
chmod +x TicTacToe.jar
java -jar TicTacToe.jar
```## 📄 Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](https://github.com/JorgeluisReis/TicTacToe/blob/main/LICENSE) para mais detalhes.