Adicionar README com documentacao do projeto v1.0
This commit is contained in:
162
README.md
Normal file
162
README.md
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user