Todas as mudanças notáveis neste projeto serão documentadas neste arquivo.
O formato é baseado em Keep a Changelog, e este projeto adere ao Semantic Versioning.
-
Infraestrutura Docker Completa
Dockerfilemulti-stage para frontend web (React + Nginx)docker-compose.ymlorquestrando todos os serviços (web, backend, postgres, redis)- Configuração Nginx otimizada para SPA React
- Health checks em todos os serviços
- Volumes persistentes para PostgreSQL e Redis
- Network isolation com bridge network dedicada
.dockerignorepara otimização de builds
-
Scripts NPM para Docker
pnpm docker:build- Build de todas as imagenspnpm docker:up- Iniciar todos os serviçospnpm docker:down- Parar todos os serviçospnpm docker:logs- Ver logs agregadospnpm docker:web:*- Comandos específicos do frontendpnpm docker:rebuild- Rebuild completopnpm docker:clean- Limpeza de volumes
-
Documentação Completa
docs/DOCKER_DEPLOY.md- Guia detalhado de deploy com Docker (60+ seções)docs/DOCKER_QUICKSTART.md- Quick start em 3 passosCONTRIBUTING.md- Guia de contribuição (250+ linhas).env.example- Template de variáveis de ambienteCHANGELOG.md- Este arquivo
-
Componente SEO
src/components/common/SEO.tsx- Meta tags dinâmicas para SEO- Open Graph e Twitter Cards
- Suporte a diferentes tipos de páginas (website, article)
- Meta tags para search engines
-
Sistema de Filtros Compactos
CompactFilter- Componente de filtro com expand/collapseCompactFiltersBar- Barra de filtros completa- Portal API para renderização de dropdowns (z-index absoluto)
- Redução de 75% no espaço ocupado quando colapsado
- Preview de filtros ativos no header
-
Design System Glassmorphism
- Classe
.glass-card- Cards com efeito de vidro (5% opacity) - Classe
.glass-dropdown- Dropdowns opacos (95% opacity) - Guia de z-index hierarchy (
Z_INDEX_GUIDE.md) - Padronização de spacing (px-3, py-6)
- Classe
-
CI/CD
- GitHub Actions workflow para build Docker
- Testes automatizados do docker-compose
- Health checks automáticos
-
Rebrand Completo
- Nome do projeto:
digimon-digitais→digiverse - Package names:
@digimon/*→@digiverse/* - Títulos e descrições atualizados em todos os arquivos
- SEO metadata atualizada
- Nome do projeto:
-
README.md
- Adicionada seção de demonstração com placeholders para screenshots
- Seção Docker Deploy com arquitetura visual
- Features destacados (filtros compactos, Portal API, glassmorphism)
- Links para documentação Docker
- Atualização das versões de dependências (React 19, Vite 7, etc.)
-
package.json (root)
- Nome:
digimon-digitais→digiverse - Descrição atualizada para DigiVerse
- Novos scripts Docker
- Keywords atualizadas (digiverse, docker, glassmorphism)
- Repository URL adicionado
- Nome:
-
packages/web/package.json
- Nome:
@digimon/web→@digiverse/web - Descrição destacando glassmorphism e filtros compactos
- Metadata completa (author, license, repository, keywords)
- Nome:
-
Otimização de Espaçamento
- Header:
px-4 py-4→px-3 py-3 - Home page:
px-4 py-12→px-3 py-6 - DigimonDetail:
px-4 py-8→px-3 py-4 - Auth pages:
p-8→p-6 - Root container: Removido padding completamente
- CSS reset universal adicionado
- Header:
-
Z-Index Hierarchy
- Dropdowns agora usam Portal API (
createPortal) - Z-index absoluto:
z-[9999]para dropdowns,z-[9998]para backdrop - Posicionamento dinâmico com
getBoundingClientRect() - Isolation stacking context (
isolation: isolate)
- Dropdowns agora usam Portal API (
- Dropdowns sendo cortados por containers com
overflow-hidden - Imagens de cards sobrepondose a dropdowns
- Background transparente em dropdowns causando conflitos visuais
- Espaçamento excessivo desperdiçando viewport
- TypeScript errors em type imports
- Missing
registermethod no authService
- Padding/margin da div
#root overflow-hiddendo Hero Section- Z-index desnecessário em cards (causava stacking context)
Frontend (web)
├── Stage 1: Builder (node:18-alpine)
│ ├── Instala pnpm
│ ├── Copia dependências
│ ├── Build do Vite (dist/)
│ └── ~800MB
└── Stage 2: Production (nginx:1.25-alpine)
├── Copia arquivos buildados
├── Nginx com gzip + cache
├── Health check endpoint
└── ~150MB (redução de 81%)
Backend (api)
├── Stage 1: Builder
│ ├── Compila TypeScript
│ └── Gera Prisma Client
└── Stage 2: Production
├── Runtime mínimo
├── Auto migrations
├── Auto seeding
└── ~200MB
- Redução de espaço UI: 50-75% em padding/margins
- Redução de filtros colapsados: 75% menos altura
- Build size (web): 81% menor com multi-stage
- Tempo de build: ~3-5 minutos (primeira vez)
- Tempo de startup: ~30-60 segundos
- Cobertura de testes: Mantida em 12 testes (5 unit + 7 integration)
- Health checks em todos os containers
- Non-root user no backend container
- Security headers no Nginx (X-Frame-Options, X-Content-Type-Options, etc.)
- Network isolation com bridge dedicada
- Volumes persistentes com permissões apropriadas
- Multi-stage builds (imagens otimizadas)
- Gzip compression no Nginx
- Cache de assets estáticos (1 ano de expiration)
- No-cache para index.html (sempre atualizado)
- Health checks com retry logic
- Auto-restart em falhas
- API REST completa com Fastify
- Autenticação JWT com refresh tokens
- CRUD de Digimons, Levels, Types, Attributes
- Frontend React com TailwindCSS
- PostgreSQL + Redis
- Prisma ORM
- Testes unitários e de integração
- Swagger/OpenAPI documentation
Made with ❤️ and ☕ by Caio Fernandes