An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

        


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](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

- ![Java](https://img.shields.io/badge/Java-21-red) - Linguagem de programação utilizada
- ![Maven](https://img.shields.io/badge/Maven-4.0-blue) - Gerenciador de dependências
- ![Jansi](https://img.shields.io/badge/Jansi-2.4.1-white) - Gerenciamento de Cores do CLI
- ![CLI](https://img.shields.io/badge/CLI-Interface-Informática) - 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://media.licdn.com/dms/image/v2/D4E03AQESebz2VylEGw/profile-displayphoto-shrink_200_200/profile-displayphoto-shrink_200_200/0/1718233854293?e=1739404800&v=beta&t=kCFe18zj1w3bOaAp8dVL_OjPrqOZK3AeMqmRJKajld8) | ![José Victor Venetillo](https://i.imgur.com/7baoEfR.jpeg) | ![Arthur Ramalho Freire](https://i.imgur.com/mZP2LcT.jpeg) |
| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| [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://i.imgur.com/EtaEWQb.jpeg) | ![Luan Nascimento](https://i.imgur.com/Ta78eAk.jpeg) | ![Hyngred Menezes](https://i.imgur.com/SsCHM4j.png) |
| :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| [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**


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](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.