DocRH

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 Login do DocRH

Tela de Cadastro

Tela de Cadastro do DocRH

Dashboard Principal

Dashboard Principal do DocRH

Tela de Registro de Processo

Tela de Registro de Processo do DocRH

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.

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

POST /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').