292 lines
7.3 KiB
Markdown
292 lines
7.3 KiB
Markdown
# 📚 SteelBook - Gerenciador de Databooks Técnicos
|
||
|
||

|
||

|
||

|
||
|
||
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.
|