Skip to content

Projeto de board para gerenciamento de tarefas, implementado em Java, desenvolvido durante o bootcamp CI&T - Backend com Java & AWS em parceria com a DIO.

Notifications You must be signed in to change notification settings

erichiroshi/board-dio

 
 

Repository files navigation

Logo do Projeto

Desafio DIO - CI&T - Backend com Java & AWS

Gerenciador de Boards — Aplicação Console (Java + Gradle)

License Language Build Tool Database Gradle Wrapper Docker Liquibase


🧭 Visão Geral

Este projeto implementa um gerenciador de boards de tarefas executado totalmente via terminal.
O usuário pode criar boards, gerenciar colunas, criar cards, mover tarefas, bloquear/desbloquear atividades e obter relatórios. Desenvolvido durante o bootcamp CI&T - Backend com Java & AWS em parceria com a DIO.


📚 Sumário


⚙️ Tecnologias Utilizadas

Tecnologia Finalidade
Java 25 Linguagem principal
🧰 Lombok Redução de boilerplate
🐬 MySQL Connector/J Driver JDBC para MySQL
🐳 Docker Containerização do ambiente
🐘 Gradle Sistema de automação de build
🗄️ Liquibase Versionamento de banco de dados

🗂️ Estrutura do Board (resumo)

  • Board: id, nome, lista ordenada de colunas
  • Coluna: id, nome, tipo (INICIAL, PENDENTE, FINAL, CANCELAMENTO), ordem
  • Card: id, título, descrição, bloqueado(Boolean), histórico de movimentos

Regras principais (resumidas):

  • Um board tem ao menos 3 colunas: INICIAL (primeira), FINAL (penúltima) e CANCELAMENTO (última).
  • Apenas 1 coluna de cada tipo especial (INICIAL, FINAL, CANCELAMENTO).
  • Cards andam na ordem das colunas e não podem pular etapas. Podem ir direto para CANCELAMENTO.
  • Cards bloqueados não se movem; bloqueio/desbloqueio exigem justificativa.

🚀 Execução do Projeto

✅ Pré-requisitos

  • Java 25+
  • Docker & Docker Compose (para MySQL + phpMyAdmin)
  • Git

📥 Clonar o repositório

git clone https://github.com/erichiroshi/board-dio.git
cd board-dio

🐳 Subir MySQL + phpMyAdmin

No diretório raiz/ (ou onde está o docker-compose.yml):

docker compose up -d

Acesse phpMyAdmin em http://localhost:8081 (credenciais conforme seu docker-compose).

▶️ Build

./gradlew clean build

▶️ Executar

Via Gradle (entrada interativa garantida):

./gradlew run

Dica: se usar PowerShell, antes execute:

[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
$OutputEncoding = [System.Text.UTF8Encoding]::new()
chcp 65001

💬 Menus e Interações (texto exato usado pelo projeto)

Menu inicial

1 - Criar um novo board
2 - Selecionar um board existente
3 - Excluir um board
4 - Sair

Menu do board selecionado

1 - Criar um card
2 - Mover um card
3 - Bloquear um card
4 - Desbloquear um card
5 - Cancelar um card
6 - Ver board
7 - Ver coluna com cards
8 - Ver card
9 - Voltar ao menu anterior
10 - Sair

🤝 Contribuições

Contribuições são sempre bem-vindas!
Para contribuir:

  1. Crie um fork do repositório.
  2. Crie uma branch de feature:
    git checkout -b feature/nova-funcionalidade
  3. Commit suas mudanças:
    git commit -m "feat: nova funcionalidade"
  4. Envie um Pull Request.

📜 Boas práticas

  • Adicione testes unitários.
  • Documente suas alterações no código.
  • Use mensagens de commit seguindo o padrão Conventional Commits.

🔗 Referências e Créditos


“Simplicidade, clareza e intenção: a base de qualquer software bem construído.”

About

Projeto de board para gerenciamento de tarefas, implementado em Java, desenvolvido durante o bootcamp CI&T - Backend com Java & AWS em parceria com a DIO.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%