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