UnBacklog é uma aplicação web para gestão ágil de projetos, desenvolvida como trabalho da disciplina de Engenharia de Software da Universidade de Brasília. A ferramenta combina funcionalidades de Kanban e Scrum, permitindo o gerenciamento de projetos, sprints e histórias de usuário.
- Autenticação e Autorização: Login e registro de usuários com JWT
- Gestão de Projetos: Criação e visualização de projetos com controle de participantes
- Histórias de Usuário: Criação, edição, exclusão e filtragem de histórias de usuário
- Sprints: Gestão completa de sprints (criação, edição, exclusão, mudança de status)
- Kanban Board: Visualização de histórias em colunas (To Do, Doing, Done)
- Métricas: Visão geral do projeto com métricas-chave
- Controle de Acesso: Diferentes papéis (Product Owner, Scrum Master, Developer) com permissões específicas
- Java 17 com Spring Boot 3.5.6
- Spring Security com autenticação JWT
- Spring Data JPA para persistência
- MySQL como banco de dados
- Maven para gerenciamento de dependências
- React 19 com TypeScript
- Vite como build tool
- Material-UI (MUI) para componentes de UI
- React Router para navegação
- Axios para requisições HTTP
- Emotion para estilização
- Docker e Docker Compose para conteinerização do MySQL
- Node.js 18+ e npm/yarn
- Java 17+ e Maven
- Docker e Docker Compose
docker-compose up -dcd server/UnBacklog
mvn spring-boot:runO servidor estará disponível em http://localhost:8080
cd client/UnBacklog
npm install
npm run devO frontend estará disponível em http://localhost:5173
- Login de usuários: Autenticação via email e senha com validação de credenciais
- Registro de novos usuários: Criação de conta com nome, email e senha
- Sessões seguras: Tokens JWT assinados com RSA armazenados em cookies HTTP-only
- Proteção de rotas: Middleware de autenticação em todas as requisições à API
- Criação de projetos: Definição de nome, descrição e participantes
- Atribuição de papéis: Designação de funções (Product Owner, Scrum Master, Developer) para cada membro
- Listagem personalizada: Visualização apenas dos projetos associados ao usuário logado
- Visão geral: Dashboard com métricas do projeto (total de histórias, sprints completas, membros da equipe)
- CRUD completo: Criação, leitura, atualização e exclusão de histórias de usuário
- Priorização: Classificação por níveis (Alta, Média, Baixa) para definição de ordem de execução
- Controle de estado: Transição entre status (A Fazer, Em Progresso, Concluído)
- Sistema de filtros: Busca por status, prioridade e atribuição
- Associação a sprints: Vinculação de histórias a sprints específicas para planejamento
- Criação de sprints: Definição de objetivo, datas de início/término e status
- Estados do ciclo: Três fases - Planejada, Ativa e Concluída
- Controle de execução: Apenas uma sprint pode estar ativa por vez, garantindo foco
- Rastreabilidade: Visualização clara de quais histórias estão associadas a cada sprint
- Gestão completa: Edição de detalhes, alteração de status e exclusão de sprints planejadas
- Visualização visual: Representação em colunas do fluxo de trabalho (To Do, Doing, Done)
- Operações drag-and-drop: Movimentação intuitiva de histórias entre colunas
- Atualização em tempo real: Mudanças refletidas imediatamente no banco de dados
- Interface responsiva: Adaptação para diferentes tamanhos de tela
| Papel | Permissões |
|---|---|
| Product Owner | Criar/editar/excluir projetos, histórias e sprints; Definir prioridades |
| Scrum Master | Gerenciar quadro Kanban; Facilitar cerimônias; Ajustar fluxo de trabalho |
| Developer | Visualizar projetos; Atualizar status de histórias; Marcar tarefas como concluídas |
O projeto inclui documentação técnica completa desenvolvida durante a disciplina:
architecture-notebook.odt: Documentação arquitetural detalhada do sistemaiteration_plan_tpl.odt: Modelo de planejamento de iterações/partidasproject_plan_tpl.odt: Plano completo do projeto com cronograma e recursossystemwide_req_spec.odt: Especificação de requisitos do sistemauc_specification_tpl.odt: Template de especificação de casos de usovision_tpl: Documento de visão do produto e escopo