From 5e67b5069573922ed8a82c32f378892ba5c0ec5a Mon Sep 17 00:00:00 2001 From: Erik Date: Wed, 26 Nov 2025 16:45:18 -0300 Subject: [PATCH] Adicionar README com documentacao do projeto v1.0 --- README.md | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++ docs/tasks.md | 9 +++ 2 files changed, 171 insertions(+) create mode 100644 README.md create mode 100644 docs/tasks.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..8258e0a --- /dev/null +++ b/README.md @@ -0,0 +1,162 @@ +# CMS OCCTO Engenharia v1.0 + +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 16 (App Router) +- **Estilização:** Tailwind CSS 4 +- **Banco de Dados:** PostgreSQL 12 + 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/ +│ │ │ ├── (public)/ # Páginas públicas (home, sobre, contato, projetos, serviços) +│ │ │ ├── admin/ # Painel administrativo +│ │ │ ├── acesso/ # Página de login +│ │ │ └── api/ # API Routes +│ │ ├── components/ # Componentes reutilizáveis +│ │ └── lib/ # Utilitários (auth, minio, prisma) +│ ├── prisma/ +│ │ ├── schema.prisma # Schema do banco de dados +│ │ └── seed.mjs # Dados iniciais +│ └── public/ # Assets estáticos +├── docker-compose.yml # Configuração Docker +└── docs/ # Documentação +``` + +## ✨ Funcionalidades + +### Painel Administrativo + +- **📄 Páginas** - Edição completa das páginas Home, Sobre e Contato +- **🛠️ Serviços** - CRUD de serviços com ícones personalizáveis +- **📂 Projetos** - CRUD de projetos/portfólio com upload de imagens +- **👥 Usuários** - Gerenciamento de usuários administradores +- **💬 Leads** - Visualização de mensagens de contato recebidas +- **⚙️ Configurações** - Personalização de cor primária do tema + +### Site Público + +- **Home** - Hero, diferenciais, serviços, sobre, depoimentos, estatísticas, CTA +- **Sobre** - Missão, visão, valores da empresa +- **Serviços** - Lista de serviços oferecidos +- **Projetos** - Portfólio de projetos realizados +- **Contato** - Formulário de contato com informações da empresa + +### Recursos Técnicos + +- ✅ Autenticação JWT segura +- ✅ Upload de imagens para MinIO (S3) +- ✅ Tema dinâmico (cor primária configurável) +- ✅ Design responsivo +- ✅ SEO otimizado +- ✅ Cookies consent LGPD +- ✅ Loading states e feedback visual +- ✅ Confirmação de exclusão + +## 🗄️ Banco de Dados + +### Modelos Prisma + +- **User** - Usuários administradores +- **PageContent** - Conteúdo das páginas (JSON flexível) +- **Service** - Serviços oferecidos +- **Project** - Projetos do portfólio +- **Lead** - Mensagens de contato +- **SiteSettings** - Configurações do site (tema) + +## 🐳 Deploy com Docker + +### Serviços + +- **postgres** - PostgreSQL 12 Alpine +- **minio** - MinIO (storage S3-compatible) +- **frontend** - Aplicação Next.js + +### Variáveis de Ambiente + +```env +# PostgreSQL +POSTGRES_USER=admin +POSTGRES_PASSWORD=sua_senha_segura +POSTGRES_DB=occto_db + +# MinIO +MINIO_ROOT_USER=admin +MINIO_ROOT_PASSWORD=sua_senha_segura + +# App +DATABASE_URL=postgresql://admin:senha@postgres:5432/occto_db?schema=public +JWT_SECRET=seu_jwt_secret_muito_seguro +MINIO_ENDPOINT=minio +MINIO_PORT=9000 +MINIO_ACCESS_KEY=admin +MINIO_SECRET_KEY=sua_senha_segura +MINIO_BUCKET_NAME=occto-images +``` + +### Comandos + +```bash +# Deploy +docker compose up -d --build + +# Logs +docker compose logs -f frontend + +# Rebuild +docker compose down && docker compose up -d --build +``` + +## 🔐 Credenciais Padrão + +Após o seed inicial: + +- **Email:** `admin@occto.com` +- **Senha:** `admin` + +⚠️ **Importante:** Altere as credenciais em produção! + +## 📝 Changelog v1.0 + +### Funcionalidades Implementadas + +- [x] Sistema de autenticação JWT +- [x] CRUD completo de serviços +- [x] CRUD completo de projetos +- [x] CRUD completo de usuários +- [x] Edição de páginas (Home, Sobre, Contato) +- [x] Sistema de leads/mensagens de contato +- [x] Upload de imagens para MinIO +- [x] Configuração de tema (cor primária) +- [x] Docker Compose para deploy +- [x] Integração com Dokploy +- [x] Seed de dados iniciais + +### Correções + +- [x] Hover dinâmico baseado na cor primária +- [x] Healthcheck do PostgreSQL +- [x] Compatibilidade com CPUs antigos (PostgreSQL 12 Alpine) +- [x] Seed em JavaScript puro (sem ts-node em produção) + +## 📄 Licença + +Projeto desenvolvido para OCCTO Engenharia. Todos os direitos reservados. + +--- + +**Versão:** 1.0 +**Data:** Novembro/2025 +**Desenvolvido por:** Assistente IA + Erik diff --git a/docs/tasks.md b/docs/tasks.md new file mode 100644 index 0000000..d670d9a --- /dev/null +++ b/docs/tasks.md @@ -0,0 +1,9 @@ +- Tradução não funcionou em todos componentes + +- Logotipo (Formulário) + +- Link do WhatsApp + +- Desabilitar local + +- Dados Reais no Dashboard \ No newline at end of file