Documentação para Desenvolvedores
Bem-vindo à documentação oficial do DocRH. Este guia contém todas as informações necessárias para você entender, instalar, configurar e contribuir com o projeto.
O DocRH é um sistema web projetado para otimizar e gerenciar o fluxo de processos entre o setor de Recursos Humanos (RH) e o Gabinete de uma organização, aumentando a eficiência e a transparência.
Funcionalidades Principais
- Autenticação de Usuários: Sistema seguro de Login e Cadastro.
- Dashboard Interativo: Painel com estatísticas e tabela de processos com filtro e ordenação.
- Gerenciamento de Processos: Funcionalidades de criar e editar status de processos.
- Extração de Dados de PDF: Upload de um PDF para preenchimento automático do formulário de registro usando Python e `pypdf`.
- Sistema de Notificações: Alertas em tempo real para eventos importantes como login, criação e atualização de processos.
Tecnologias Utilizadas
Backend
- PHP
- Python 3 (`pypdf`)
- MySQL
Frontend
- HTML5, CSS3, JavaScript
- Bootstrap 5
- Font Awesome
Screenshots do Sistema
Veja abaixo algumas das principais telas da interface do DocRH.
Tela de Login
Tela de Cadastro
Dashboard Principal
Tela de Registro de Processo
Instalação e Configuração
Siga estes passos para configurar o projeto em seu ambiente local.
1. Pré-requisitos
Certifique-se de ter um servidor web com PHP (ex: Apache), MySQL e Python 3 instalado. Instale a biblioteca `pypdf`:
pip install pypdf
2. Clonar Repositório
git clone https://github.com/seu-usuario/doc_rh.git
cd doc_rh
3. Banco de Dados
Crie um banco de dados (ex: `doc_rh_db`), importe o esquema SQL para criar as tabelas e configure suas credenciais em `config/db_conexao.php`.
4. Diretório de Uploads
Crie o diretório `uploads_temp/` na raiz do projeto e conceda permissão de escrita ao servidor web.
mkdir uploads_temp
chmod 775 uploads_temp
# Opcional, ajuste o dono: sudo chown www-data:www-data uploads_temp
Estrutura do Projeto
O projeto está organizado da seguinte forma para facilitar a manutenção:
doc_rh/
├── assets/
│ └── css/
│ └── estilo.css
├── config/
│ └── db_conexao.php
├── includes/
│ └── funcoes_notificacao.php
├── templates/
│ ├── header.php
│ └── footer.php
├── uploads_temp/
│
├── extrair_dados_pdf.py
├── processo_extrair_pdf.php
│
├── index.php
├── dashboard.php
├── processo_listar.php
├── processo_inserir_tela.php
├── processo_salvar.php
├── processo_atualizar_status.php
├── login_usuario.php
├── cadastro_tela.php
├── cadastro_usuario.php
└── logout.php
API & Endpoints
Endpoint de Extração de PDF
Este endpoint é responsável por receber um arquivo PDF e retornar os dados extraídos em formato JSON.
/processo_extrair_pdf.php
Corpo da Requisição:
A requisição deve ser do tipo `multipart/form-data`, contendo um campo `pdf_processo` com o arquivo PDF.
Exemplo de Resposta (Sucesso):
{
"sucesso": true,
"erro": "",
"dados": {
"tipo_documento": "Processo Administrativo",
"numero_processo": "7.669/2025",
"secretaria_origem": "SESAU",
"data_recebimento": "2025-06-02",
"data_encaminhamento_gabinete": "2025-06-02",
"copia_cc_sc": "C/C"
}
}
Endpoint de Atualização de Status
Este endpoint atualiza o status de um processo existente.
/processo_atualizar_status.php
Corpo da Requisição:
A requisição deve ser do tipo `application/x-www-form-urlencoded` com os seguintes campos:
- `processo_id` (integer): O ID do processo a ser atualizado.
- `nova_situacao` (string): O novo status ('Pendente', 'Resolvido', ou 'Cancelado').