Files
dbmaker/README.md

292 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📚 SteelBook - Gerenciador de Databooks Técnicos
![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)
![License](https://img.shields.io/badge/license-MIT-green.svg)
![Status](https://img.shields.io/badge/status-Production-brightgreen.svg)
SteelBook é uma plataforma web moderna para criar, organizar e gerar Databooks técnicos profissionais. Desenvolvida com React, TypeScript e Supabase, oferece uma experiência intuitiva e poderosa para gerenciamento de documentação técnica.
## ✨ Características Principais
- 📊 **Dashboard Inteligente** - Visualize todos os seus projetos com progresso em tempo real
- 📚 **Gestão de Databooks** - Crie e organize databooks com múltiplos tópicos
- 📄 **Upload de Documentos** - Suporte para PDF, JPG e PNG com preview
- 🏷️ **Categorização** - Organize tópicos com categorias customizáveis
- 🎨 **Personalização** - Customize cores, logos e marca d'água
- 📑 **Geração de PDF** - Gere PDFs profissionais com um clique
- 👥 **Gerenciamento de Usuários** - Controle de acesso e permissões
- ⚙️ **Configurações Avançadas** - Mapeamento de pastas, integração com IA
- 📊 **Progresso em Tempo Real** - Acompanhe o progresso de cada projeto
- 🔐 **Segurança** - Autenticação JWT e Row Level Security
## 🚀 Quick Start
### Pré-requisitos
- Node.js 16+
- npm ou yarn
- Conta Supabase
### Instalação
```bash
# Clone o repositório
git clone https://github.com/seu-usuario/steelbook.git
cd steelbook
# Instale as dependências
npm install
# Configure as variáveis de ambiente
cp .env.example .env
# Inicie o servidor de desenvolvimento
npm run dev
```
### Configuração do Supabase
1. Crie um projeto em [supabase.com](https://supabase.com)
2. Copie a URL e chave anônima
3. Adicione ao arquivo `.env`:
```env
VITE_SUPABASE_URL=https://seu-projeto.supabase.co
VITE_SUPABASE_ANON_KEY=sua-chave-anonima
```
4. Execute as migrations:
```bash
supabase db push
```
## 📖 Documentação
### Para Usuários
- **[Manual do Usuário](docs/MANUAL_USUARIO.md)** - Guia completo e didático
- Primeiros passos
- Criando databooks
- Gerenciando documentos
- Gerando PDFs
- Dicas e truques
### Para Desenvolvedores
- **[Arquitetura Técnica](docs/ARQUITETURA_TECNICA.md)** - Documentação técnica detalhada
- Visão geral do sistema
- Estrutura do banco de dados
- Fluxo de dados
- Componentes principais
- Autenticação e segurança
## 🏗️ Estrutura do Projeto
```
steelbook/
├── src/
│ ├── pages/ # Páginas principais
│ ├── components/ # Componentes reutilizáveis
│ ├── lib/ # Funções utilitárias
│ ├── types/ # Tipos TypeScript
│ └── App.tsx # Componente raiz
├── supabase/
│ ├── migrations/ # Migrations do banco
│ └── setup_*.sql # Scripts de setup
├── docs/ # Documentação
├── public/ # Arquivos estáticos
└── package.json # Dependências
```
## 🛠️ Stack Tecnológico
### Frontend
- **React 18** - UI library
- **TypeScript** - Type safety
- **Vite** - Build tool
- **Tailwind CSS** - Styling
- **TanStack Query** - State management
- **Lucide Icons** - Icons
### Backend
- **Supabase** - Backend as a Service
- **PostgreSQL** - Database
- **JWT** - Authentication
- **Row Level Security** - Authorization
## 📊 Banco de Dados
O SteelBook utiliza 13 tabelas principais:
1. **usuarios** - Usuários do sistema
2. **clientes** - Informações de clientes
3. **templates_topicos** - Tópicos padrão
4. **templates_customizados** - Templates personalizados
5. **projetos** - Databooks em desenvolvimento
6. **databooks_mestres** - Configurações do databook
7. **secoes_databook** - Seções do databook
8. **documentos_auto_indexados** - Documentos carregados
9. **categorias** - Categorias de tópicos
10. **configuracoes_pastas** - Mapeamento de pastas
11. **integracao_ia** - Configurações de IA
12. **log_processamento_ia** - Histórico de processamentos
13. **permissoes_usuario_detalhadas** - Controle de permissões
Veja [Arquitetura Técnica](docs/ARQUITETURA_TECNICA.md) para detalhes completos.
## 🔐 Segurança
- ✅ Autenticação JWT
- ✅ Row Level Security (RLS)
- ✅ Validação de entrada
- ✅ HTTPS obrigatório
- ✅ CORS configurado
- ✅ Encriptação de dados sensíveis
## 📈 Progresso do Projeto
O progresso é calculado automaticamente:
```
Progresso = (Seções com documentos / Total de tópicos) × 100
```
Exemplo:
- Total de tópicos: 28
- Seções com documentos: 7
- Progresso: 25%
## 🎯 Funcionalidades Principais
### Dashboard
- Visualização de projetos recentes
- Estatísticas rápidas
- Barra de progresso em tempo real
- Ações rápidas (ver, editar, clonar, deletar)
### Gerenciamento de Databooks
- Criar novo databook
- Configurar informações do projeto
- Personalizar aparência
- Definir formato do PDF
### Gerenciamento de Documentos
- Upload de arquivos
- Preview de documentos
- Reordenação por drag-and-drop
- Filtro por categoria
- Busca por título/número
### Gestão de Tópicos
- Criar tópicos hierárquicos
- Reordenar com drag-and-drop
- Associar categorias
- Marcar como obrigatório
### Configurações
- Mapeamento de pastas
- Gerenciamento de categorias
- Gerenciamento de usuários
- Visualização de logs
- Integração com IA
### Geração de PDF
- Preview do databook
- Personalização de cores
- Marca d'água
- Numeração de páginas
- Download automático
## 🚀 Deployment
### Vercel (Recomendado)
```bash
npm run build
vercel deploy
```
### Netlify
```bash
npm run build
netlify deploy --prod --dir=dist
```
### Docker
```bash
docker build -t steelbook .
docker run -p 3000:3000 steelbook
```
## 📝 Variáveis de Ambiente
```env
# Supabase
VITE_SUPABASE_URL=https://seu-projeto.supabase.co
VITE_SUPABASE_ANON_KEY=sua-chave-anonima
# API
VITE_API_URL=http://localhost:5173
# Ambiente
VITE_ENV=development
```
## 🤝 Contribuindo
Contribuições são bem-vindas! Por favor:
1. Fork o projeto
2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
3. Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
4. Push para a branch (`git push origin feature/AmazingFeature`)
5. Abra um Pull Request
## 📄 Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.
## 👥 Autores
- **Desenvolvido com ❤️** para profissionais de engenharia
## 🙏 Agradecimentos
- [React](https://react.dev)
- [Supabase](https://supabase.com)
- [Tailwind CSS](https://tailwindcss.com)
- [TanStack Query](https://tanstack.com/query)
- [Lucide Icons](https://lucide.dev)
## 📞 Suporte
Para suporte, abra uma issue no GitHub ou entre em contato com o time de desenvolvimento.
## 🗺️ Roadmap
- [ ] Integração com IA para análise automática
- [ ] Sincronização com Google Drive/OneDrive
- [ ] Versionamento de databooks
- [ ] Comentários e anotações
- [ ] Exportação em múltiplos formatos
- [ ] API REST pública
- [ ] Aplicativo mobile
- [ ] Integração com sistemas ERP
## 📊 Status
- ✅ v1.0 - Lançamento inicial
- 🔄 v1.1 - Em desenvolvimento
- 📅 v2.0 - Planejado para Q2 2025
---
**Última atualização:** Novembro 2024
**Versão:** 1.0.0
Desenvolvido com ❤️ para profissionais de engenharia.