Manual de Operação do Sisperjud
Descrição: Documento voltado para os administradores do sistema, com fornecimento de orientações técnicas detalhadas para a configuração, administração, monitoramento, manutenção e solução de problemas do sistema. Ele é destinado a profissionais técnicos responsáveis pela sustentação e operação contínua da solução, garantindo sua eficiência, segurança e disponibilidade.
Documentação técnica
Código-Fonte e Estrutura de Repositórios
-
O sistema Perícias é estruturado com base em arquitetura de microsserviços, seguindo os padrões técnicos adotados pela Plataforma Digital do Poder Judiciário (PDPJ-Br). A organização do código-fonte é modular, versionada e orientada à separação clara de responsabilidades entre camadas de apresentação, orquestração, domínio, persistência e integração.
-
A estrutura de repositórios é modular, padronizada e mantida sob controle de versão, com foco em escalabilidade, manutenibilidade, segurança e reuso. Todo o código-fonte é limpo, comentado e documentado conforme diretrizes do CNJ.
Repositérios Principais
Sisperjud
- Repositório da camada de apresentação, desenvolvido com Angular 11.2.4. Adota arquitetura baseada em componentes reutilizáveis, design responsivo, roteamento com proteção de rotas e integração reativa com serviços REST. Utiliza boas práticas de modularização, lazy loading e acessibilidade, com autenticação via SSO integrada ao backend.
Gesper
-
O backend do sistema Perícias (gesper) é construído com Java 11 e Spring Boot 2.3.4.RELEASE, utilizando arquitetura baseada em APIs REST, com organização em camadas e forte separação de responsabilidades.
Tecnologias e Frameworks Utilizados:
- Spring Boot - Estrutura da aplicação e exposição das APIs REST.
- Hibernate (JPA) – Mapeamento objeto-relacional e persistência de dados.
- PostgreSQL – Banco de dados relacional do sistema.
- Flyway – Versionamento e controle de migrações do banco.
- Spring Security + Keycloak – Autenticação e controle de acesso (OAuth2/RBAC).
- JasperReports – Geração de relatórios e laudos em PDF.
- Apache Tika – Extração de conteúdo de arquivos (PDF/HTML).
Componentes de Integração e Persistência
Banco de Dados:
- PostgreSQL, com esquemas otimizados, constraints de integridade referencial, índices para desempenho e versionamento lógico de entidades (soft deletes, timestamps, ownership).
Armazenamento de Arquivos:
- Amazon S3, utilizado para armazenamento de anexos e documentos do sistema, com organização por buckets e controle de acesso baseado em políticas e URLs temporárias (presigned URLs).
Pipelines e Integração Contínua
Todos os repositórios utilizam Git para controle de versão (com fluxo baseado em main, develop e feature/*) e são integrados a pipelines CI/CD via GitLab CI, que contemplam:
- Build e versionamento semântico de artefatos; -
- Empacotamento em imagens Docker; -
- Deploy contínuo em ambientes Kubernetes.
Frameworks e Tecnologias Utilizadas
-
O sistema Sisperjud foi desenvolvido com base em uma arquitetura moderna de microsserviços, segmentada em múltiplos repositórios e camadas funcionais, em conformidade com os padrões técnicos e operacionais da Plataforma Digital do Poder Judiciário Brasileiro (PDPJ-Br).
-
A estrutura dos repositórios busca garantir modularidade, padronização, segurança e escalabilidade, com separação clara entre interface, lógica de negócio e persistência.
-
Todo o código é mantido em repositórios versionados via Git, com controle rigoroso de qualidade, documentação e integração contínua.
Repositérios Principais
Frontend
- Interface do usuário desenvolvida com Angular 17.3.0, estruturada com foco em componentização, modularização por domínio e responsividade. A comunicação com o backend é feita via serviços REST com autenticação integrada por SSO (Single Sign-On). O frontend adota práticas modernas de UX, acessibilidade e internacionalização (i18n), com rotas protegidas e lazy loading para ganho de performance.
Sisperjud
- Aplicação intermediária escrita em Spring Boot 2.3.4. RELEASE, responsável por agregar dados, aplicar lógica de apresentação e intermediar autenticação/autorização com segurança reforçada por Auth2. Utiliza programação reativa com Spring WebFlux, garantindo alto desempenho em ambientes de alta concorrência. Oferece APIs RESTful organizadas em camadas (controller, service, repository), com tratamento centralizado de exceções, controle de versões, e integração com os serviços de persistência e busca (PostgreSQL).