6 Commits
dev ... cms-1.1

Author SHA1 Message Date
Erik
57f295edf1 docs: adicionar atualizacoes CMS 1.1 no diario de bordo 2025-11-27 19:31:57 -03:00
Erik
0b645a3ffa docs: criar README.md principal com changelog integrado 2025-11-27 19:29:09 -03:00
Erik
841bf061aa docs: atualizar CHANGELOG.md com formato padronizado 2025-11-27 19:27:16 -03:00
Erik
6bb6c5b668 docs: fix CHANGELOG.md encoding 2025-11-27 19:25:13 -03:00
Erik
ccfc5fff65 docs: adicionar CHANGELOG.md com resumo da release CMS 1.1 2025-11-27 19:24:02 -03:00
Erik
02f776ad0d release: CMS 1.1
## Resumo das Alteracoes

### Correcoes de Infraestrutura
- Tipagem de params para Next.js 15 nas API routes

### Dashboard Admin
- Dados dinamicos (contagens reais do banco)
- Estatisticas: Projetos, Mensagens, Servicos
- Ultimas Mensagens e Projetos Recentes
- Links funcionais para paginas correspondentes

### Modulo de Servicos (CRUD Completo)
- Lista com filtros, busca e acoes (editar/excluir)
- Pagina Novo Servico com seletor visual de icones
- Pagina Editar Servico
- 70+ icones organizados por categoria
- Paginas publicas dinamicas com fallback

### Modulo de Projetos (Melhorias)
- Filtros por categoria e status
- Busca por titulo/cliente/descricao
- Pagina Editar Projeto com upload de imagens

### UX/UI
- Seletor de icones em galeria com busca
- Loading states e feedback visual
- Confirmacao de exclusao
2025-11-27 19:22:37 -03:00
3 changed files with 336 additions and 0 deletions

103
CHANGELOG.md Normal file
View File

@@ -0,0 +1,103 @@
# Changelog - OCCTO Engenharia
Histórico de versões e alterações do CMS.
---
## 📦 [CMS 1.1] - 27/11/2025
### 🔧 Correções de Infraestrutura
- **Tipagem Next.js 15**: Correção de `params` para usar `Promise<{ id: string }>` nas API routes
---
### 📊 Dashboard Admin
Dashboard com dados dinâmicos em tempo real.
| Estatística | Descrição |
|-------------|-----------|
| Projetos | Total e quantidade de ativos |
| Mensagens | Total e quantidade não lidas |
| Serviços | Total e quantidade ativos |
**Funcionalidades:**
- Últimas 5 mensagens com iniciais, tempo relativo e indicador de não lida
- Últimos 5 projetos com imagem, categoria e status
- Cards clicáveis redirecionam para páginas correspondentes
---
### 🛠️ Módulo de Serviços
CRUD completo para gerenciamento de serviços.
#### Admin - Lista (`/admin/servicos`)
- Dados dinâmicos da API
- Filtro por status (Todos/Ativos/Inativos)
- Busca por título e descrição
- Ações de editar e excluir com confirmação
#### Admin - Novo Serviço (`/admin/servicos/novo`)
- Seletor visual de ícones em galeria com busca
- 70+ ícones organizados por categoria
- Campos: título, ícone, status, ordem, descrições
#### Admin - Editar Serviço (`/admin/servicos/[id]/editar`)
- Carrega dados existentes
- Mesmo seletor visual de ícones
- Atualização via API
#### Páginas Públicas
- `/servicos` - Página principal
- `/en/servicos` - Inglês
- `/es/servicos` - Espanhol
- Exibe apenas serviços ativos, ordenados
- Fallback para dados estáticos
---
### 📁 Módulo de Projetos
Melhorias no gerenciamento de projetos.
#### Admin - Lista (`/admin/projetos`)
- Filtros por categoria e status
- Busca por título, cliente e descrição
- Botão de editar em cada projeto
#### Admin - Editar Projeto (`/admin/projetos/[id]/editar`)
- Upload de imagem de capa
- Upload de galeria (até 8 imagens)
- Todos os campos editáveis
---
### 🎨 Melhorias de UX/UI
- **Seletor de Ícones**: Galeria visual com busca em tempo real
- **Loading States**: Indicadores visuais de carregamento
- **Toasts**: Feedback de sucesso e erro
- **Confirmação**: Modal antes de ações destrutivas
---
## 📁 Estrutura de Arquivos
```
frontend/src/app/admin/
├── page.tsx # Dashboard dinâmico
├── projetos/
│ ├── page.tsx # Lista com filtros
│ └── [id]/editar/page.tsx # ✨ NOVO
└── servicos/
├── page.tsx # Lista com filtros
├── novo/page.tsx # Criação com ícones
└── [id]/editar/page.tsx # ✨ NOVO
```
---
**Branch**: `cms-1.1`
**Status**: ✅ Produção

114
README.md Normal file
View File

@@ -0,0 +1,114 @@
# CMS OCCTO Engenharia v1.1
Sistema de gerenciamento de conteúdo (CMS) desenvolvido para a OCCTO Engenharia.
## 📋 Visão Geral
CMS completo para gerenciamento do site institucional da OCCTO Engenharia, empresa especializada em engenharia veicular, mecânica e segurança do trabalho.
## 🚀 Tecnologias
- **Frontend**: Next.js 15 (App Router)
- **Estilização**: Tailwind CSS 4
- **Banco de Dados**: PostgreSQL 16 + Prisma ORM
- **Storage**: MinIO (S3-compatible)
- **Autenticação**: JWT com bcryptjs
- **Deploy**: Docker Compose + Dokploy
## 📁 Estrutura do Projeto
```
├── frontend/ # Aplicação Next.js
│ ├── src/
│ │ ├── app/
│ │ │ ├── admin/ # Painel administrativo
│ │ │ ├── api/ # API Routes
│ │ │ ├── (public)/ # Páginas públicas
│ │ │ └── [locale]/ # Páginas com i18n
│ │ ├── components/ # Componentes reutilizáveis
│ │ ├── contexts/ # Contexts React
│ │ └── lib/ # Utilitários
│ └── prisma/ # Schema e migrations
├── docs/ # Documentação
└── docker-compose.yml # Configuração Docker
```
---
## 📦 Changelog
### [CMS 1.1] - 27/11/2025
#### 🔧 Correções
- Tipagem de `params` para Next.js 15 nas API routes
#### 📊 Dashboard Admin
- Dados dinâmicos em tempo real (Projetos, Mensagens, Serviços)
- Últimas 5 mensagens com indicador de não lida
- Últimos 5 projetos com imagem e status
- Cards clicáveis com navegação
#### 🛠️ Módulo de Serviços (CRUD Completo)
| Página | Funcionalidades |
|--------|-----------------|
| Lista | Filtros, busca, editar/excluir |
| Novo | Seletor visual de 70+ ícones |
| Editar | Carrega e atualiza dados |
| Público | Dados dinâmicos com fallback |
#### 📁 Módulo de Projetos (Melhorias)
| Página | Funcionalidades |
|--------|-----------------|
| Lista | Filtros por categoria/status, busca |
| Editar | Upload de capa e galeria (até 8) |
#### 🎨 UX/UI
- Seletor de ícones em galeria com busca
- Loading states e toasts
- Modal de confirmação para exclusões
---
### [CMS 1.0] - 25/11/2025
#### ✨ Funcionalidades Iniciais
- Sistema de autenticação com JWT
- CRUD de Projetos com upload de imagens
- CRUD de Contatos/Mensagens
- Gerenciamento de conteúdo de páginas
- Sistema de leads
- Suporte a múltiplos idiomas (PT, EN, ES)
- Tema claro/escuro
- Upload de arquivos via MinIO
---
## 🔧 Instalação
```bash
# Clonar repositório
git clone https://git.stackbyte.cloud/erik/octto-engenharia.git
# Instalar dependências
cd frontend && npm install
# Configurar variáveis de ambiente
cp .env.example .env
# Executar migrations
npx prisma migrate dev
# Iniciar desenvolvimento
npm run dev
```
## 🌐 Deploy
Consulte o arquivo [README-DEPLOY.md](./README-DEPLOY.md) para instruções de deploy.
---
**Branch Atual**: `cms-1.1`
**Status**: ✅ Produção

View File

@@ -47,3 +47,122 @@
- Opcional: reforçar validação server-side dos limites e criar testes automatizados para o fluxo de tradução.
Este resumo deve servir como onboarding rápido para qualquer pessoa ou nova IA que precise continuar o desenvolvimento.
---
## CMS 1.1 - Atualizações (27/11/2025)
### 🔧 Correções de Infraestrutura
- Tipagem de `params` para Next.js 15 nas API routes (`/api/projects/[id]`, `/api/services/[id]`)
- Correção para usar `Promise<{ id: string }>` e `await params`
---
### 📊 Dashboard Admin Dinâmico
O dashboard agora exibe dados reais do banco de dados:
| Estatística | Descrição |
|-------------|-----------|
| Projetos | Total e quantidade de ativos |
| Mensagens | Total e quantidade não lidas |
| Serviços | Total e quantidade ativos |
**Novas funcionalidades:**
- Últimas 5 mensagens com iniciais do nome, tempo relativo e indicador de não lida
- Últimos 5 projetos com imagem de capa, categoria e badge de status
- Cards clicáveis que redirecionam para as páginas correspondentes
- Botões "Ver todos" funcionais
---
### 🛠️ Módulo de Serviços (CRUD Completo)
#### Admin - Lista de Serviços (`/admin/servicos`)
- Dados dinâmicos da API `/api/services`
- Filtro por status (Todos/Ativos/Inativos)
- Busca por título e descrição
- Botões de Editar e Excluir
- Modal de confirmação antes de excluir
#### Admin - Novo Serviço (`/admin/servicos/novo`)
- Formulário conectado à API `POST /api/services`
- **Seletor visual de ícones em galeria** com busca em tempo real
- **70+ ícones** organizados por categoria:
- Veículos e Transporte
- Ferramentas e Engenharia
- Documentos e Laudos
- Segurança
- Construção e Equipamentos
- Inspeção e Verificação
- Geral
- Campos: título, ícone, status, ordem, descrição curta, descrição completa
#### Admin - Editar Serviço (`/admin/servicos/[id]/editar`) - **NOVO**
- Página criada do zero
- Carrega dados do serviço existente via `GET /api/services/:id`
- Atualiza via `PUT /api/services/:id`
- Mesmo seletor visual de ícones da página de criação
#### Páginas Públicas de Serviços
- `/servicos` e `/[locale]/servicos` agora são dinâmicas
- Exibe apenas serviços **ativos**
- Ordenados pelo campo `order`
- Fallback para dados estáticos se API vazia
- Loading state durante carregamento
---
### 📁 Módulo de Projetos (Melhorias)
#### Admin - Lista de Projetos (`/admin/projetos`)
- Filtros por categoria e status
- Busca por título, cliente e descrição
- Botão de Editar em cada projeto
#### Admin - Editar Projeto (`/admin/projetos/[id]/editar`) - **NOVO**
- Página criada do zero
- Carrega dados do projeto existente
- Upload de imagem de capa
- Upload de galeria de imagens (até 8)
- Todos os campos editáveis
---
### 🎨 Melhorias de UX/UI
| Feature | Descrição |
|---------|-----------|
| Seletor de Ícones | Galeria visual clicável com busca em tempo real |
| Loading States | Indicadores visuais de carregamento em todas as páginas |
| Toasts | Feedback de sucesso e erro nas operações |
| Confirmação | Modal antes de ações destrutivas (exclusão) |
| Navegação | Links e botões funcionais em todo admin |
---
### 📁 Arquivos Modificados/Criados
```
frontend/src/app/admin/
├── page.tsx # Dashboard com dados reais
├── projetos/
│ ├── page.tsx # Lista com filtros e busca
│ └── [id]/editar/page.tsx # ✨ NOVO - Edição de projeto
└── servicos/
├── page.tsx # Lista com filtros e busca
├── novo/page.tsx # Seletor visual de ícones
└── [id]/editar/page.tsx # ✨ NOVO - Edição de serviço
frontend/src/app/
├── (public)/servicos/page.tsx # Página pública dinâmica
└── [locale]/servicos/page.tsx # Página com locale dinâmica
frontend/src/app/api/projects/[id]/
└── route.ts # Corrigido tipagem Next.js 15
```
---
**Branch**: `cms-1.1`
**Status**: ✅ Produção