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