Sistema completo para gerenciar retrospectivas de equipes ágeis, desenvolvido em Go (backend) e React (frontend).
- ✅ Gestão de Usuários - Registro, login e perfis
- ✅ Gestão de Times - Criar times, adicionar membros, gerenciar permissões
- ✅ Retrospectivas - Criar e gerenciar sessões de retrospectiva
- ✅ Templates - Diferentes formatos (Start/Stop/Continue, 4Ls, Mad/Sad/Glad, Sailboat)
- ✅ Participação Colaborativa - Múltiplos participantes contribuindo
- 🔄 Tempo Real - Atualizações em tempo real via WebSocket
- 🔄 Sistema de Votação - Votar em itens importantes
- 🔄 Action Items - Tracking de ações e follow-up
- 🔄 Relatórios - Analytics e métricas do time
- 🔄 Interface Responsiva - Funciona em mobile e desktop
- 🔄 Temas - Dark/Light mode
- 🔄 Timer - Cronômetro para sessões
- 🔄 Notificações - Lembretes e updates
- 🔄 Export - Exportar retrospectivas (PDF, CSV)
educ-retro/
├── cmd/server/ # Ponto de entrada da aplicação
├── internal/
│ ├── models/ # Modelos de dados
│ ├── repositories/ # Camada de acesso a dados
│ ├── services/ # Lógica de negócio
│ ├── handlers/ # Controllers da API
│ ├── auth/ # Autenticação e JWT
│ ├── database/ # Conexão com banco
│ └── utils/ # Utilitários
├── migrations/ # Migrations do banco
├── frontend/ # Aplicação React (em desenvolvimento)
└── docs/ # Documentação
- Go 1.21+
- PostgreSQL 12+
- Node.js 18+ (para frontend)
Para uma configuração rápida e automática, execute:
# Clone o repositório
git clone <repository-url>
cd educ-retro
# Execute o script de setup completo
./scripts/setup.shEste script irá:
- ✅ Verificar todas as dependências necessárias
- ✅ Instalar dependências do Go e Node.js
- ✅ Configurar o banco de dados PostgreSQL
- ✅ Executar todas as migrations
- ✅ Criar arquivo de configuração .env
Após o setup, execute:
# Para iniciar apenas o backend
make run
# Para iniciar backend e frontend simultaneamente
make run-allSe preferir configurar manualmente:
git clone <repository-url>
cd educ-retro# Configure as variáveis de ambiente
cp env.example .env
# Edite o arquivo .env com suas configurações
# Execute o setup do banco
make setup-db# Instalar dependências
make deps
# Executar o servidor
make run# Navegar para o diretório do frontend
cd frontend
# Instalar dependências do Node.js
npm install
# Executar o frontend
npm start- Backend: http://localhost:8080
- Frontend: http://localhost:3000
- Health Check: http://localhost:8080/health
POST /api/v1/auth/register- Registrar usuárioPOST /api/v1/auth/login- Login
GET /api/v1/users/profile- Perfil do usuárioPUT /api/v1/users/profile- Atualizar perfil
GET /api/v1/teams- Listar times do usuárioPOST /api/v1/teams- Criar timeGET /api/v1/teams/:id- Detalhes do timePUT /api/v1/teams/:id- Atualizar timeDELETE /api/v1/teams/:id- Deletar timePOST /api/v1/teams/:id/members- Adicionar membroDELETE /api/v1/teams/:id/members/:userId- Remover membro
GET /api/v1/retrospectives- Listar retrospectivasPOST /api/v1/retrospectives- Criar retrospectivaGET /api/v1/retrospectives/:id- Detalhes da retrospectivaPOST /api/v1/retrospectives/:id/items- Adicionar itemPOST /api/v1/retrospectives/:id/vote- Votar em item
curl -X POST http://localhost:8080/api/v1/auth/register \
-H "Content-Type: application/json" \
-d '{
"email": "usuario@exemplo.com",
"name": "João Silva",
"password": "123456"
}'curl -X POST http://localhost:8080/api/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "usuario@exemplo.com",
"password": "123456"
}'curl -X POST http://localhost:8080/api/v1/teams \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN_AQUI" \
-d '{
"name": "Time de Desenvolvimento",
"description": "Time responsável pelo desenvolvimento do produto"
}'# Setup completo do projeto
make setup
# Apenas configurar banco de dados
make setup-db
# Verificar status do banco
make check-db
# Executar script de setup completo
./scripts/setup.sh# Executar o servidor
make run
# Executar backend e frontend simultaneamente
make run-all
# Instalar dependências
make deps
# Executar testes
make test
# Executar testes com coverage
make test-coverage# Executar migrations
make migrate-up
# Reverter migrations
make migrate-down
# Resetar banco (cuidado!)
make migrate-reset
# Criar nova migration
make migrate-create# Build para produção
make build
# Limpar arquivos gerados
make clean
# Executar linter
make lint
# Formatar código
make fmt# Ver todos os comandos disponíveis
make help- ✅ Implementar repositórios e serviços para retrospectivas
- ✅ Criar sistema de WebSocket para tempo real
- ✅ Desenvolver frontend React
- ✅ Implementar templates de retrospectiva
- ✅ Criar relatórios e analytics
- 🔄 Adicionar sistema de votação
- 🔄 Implementar action items
- 🔄 Adicionar testes unitários e de integração
- 🔄 Implementar funcionalidades de retrospectiva no backend
- 🔄 Conectar frontend com WebSocket
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.