Se requiere desarrollar una clase PHP dentro de un framework propio que funciona como Web Service en backend.
El framework ejecuta búsquedas sobre fuentes públicas externas a partir de parámetros de entrada (por ejemplo, nombre de persona o empresa). Cada búsqueda está implementada como una clase que extiende AbstractSearchMethod.
Este proyecto consiste en desarrollar un nuevo SearchMethod que consulte programáticamente el siguiente sitio público:
https://plataforma.justiciasalta.gov.ar/iol-ui/p/inicio
La tarea es puntual. Sin embargo, el objetivo es identificar un programador PHP Senior con experiencia y disponibilidad real para continuar colaborando a largo plazo en modalidad freelance (sólo a modo de referencia, por ejemplo aprox. 14 horas semanales).
No buscamos perfiles sin disponibilidad o con agenda saturada.
--- Objetivo Funcional
Implementar una clase que permita consultar causas judiciales a partir del parámetro "razonsocial" (nombre de persona o empresa), recibido como input del Web Service, y retornar los resultados normalizados en una estructura de datos consistente con el framework existente.
--- Procedimiento de consulta a implementar
1. Acceder al sitio indicado.
2. Ejecutar búsqueda del tipo "CAUSAS" utilizando el parámetro "razonsocial".
3. Parsear los resultados obtenidos (expedientes judiciales) y retornar un Array asociativo estructurado, donde cada clave represente el nombre del campo y su valor el dato correspondiente.
Para cada expediente deben obtenerse como mínimo:
- Datos del encabezado (ej.: "Oc1 123/11 (11-1234567-0) juzgado en lo civil y comercial de 1ra inst. 1º nom-oran-distrito oran")
- Carátula (ej.: "Alvarez, pedro contra perez gonzalo por embargo preventivo")
- Solapa "ficha": todos los campos correctamente identificados y nombrados.
- Solapa "Sujetos": todos los campos correctamente identificados y nombrados
(Vínculo, Nombre/Denominación, Causas Relacionadas, Movimientos).
El resultado debe integrarse respetando la interfaz y el contrato definidos por AbstractSearchMethod.
--- Importante
La implementación no puede utilizar Selenium ni herramientas que impliquen instanciar un navegador. Debe resolverse exclusivamente mediante cURL o Symfony\Component\BrowserKit\Httpbrowser, realizando las solicitudes http necesarias (get/post), manejando sesiones, tokens y navegación interna del sitio según corresponda.
--- Alcance técnico esperado
- Código claro, mantenible y alineado a buenas prácticas (PSR, separación de responsabilidades).
- Manejo robusto de errores y escenarios de cambios menores en la estructura HTML.
- Parsing mediante DOM/XPath u otras técnicas adecuadas.
- Eficiencia en llamadas HTTP y procesamiento.
- No afectar otras partes del framework.
--- Requisitos Indispensables
- PHP avanzado orientado a objetos.
- Experiencia de más de 5 años desarrollando con PHP
- Sólido conocimiento de parsing html/xml (dom, xpath, etc.).
- Manejo de cURL o librerías equivalentes.
- MySQL (consultas eficientes, índices, comprensión de performance).
- Conocimientos de html/css/js suficientes para analizar estructuras y requests.
- Uso habitual de Git.
- Experiencia trabajando en entornos Docker.
--- Se valorará especialmente
- Experiencia con ElasticSearch.
- Experiencia en AWS (EC2, S3, Lambda, CloudFormation, etc.).
- Capacidad para comprender y adaptarse rápidamente a frameworks existentes.
--- Modalidad de trabajo
- Se proveerá entorno de desarrollo basado en Docker.
- Acceso a repositorio Git para trabajar en un feature branch.
- Se coordinará una llamada inicial para explicar el framework y despejar dudas.
- Se espera comunicación clara y cumplimiento de plazos acordados.
Buscamos establecer una relación de trabajo free-lance sostenida en el tiempo. Es condición excluyente contar con disponibilidad aproximada de 14 horas semanales para futuras tareas.
--- Importante final
El freelancer acepta que entregas parciales, incompletas o que no cumplan plenamente con lo requerido no generarán derecho a pago.
--- Me
interesa...Pero como me pongo en contacto?
Si leíste este requerimiento con atención y estás interesado en participar:
1) Respondé con la frase "Alli vamos!" seguida de tu propuesta personalizada. Las respuestas hechas con IA para esto no suman!
2) Incluí en tu propuesta un enlace a código PHP propio que tengas publicado (en GitHub u otros repos) o bien un snippet de código.
Gracias por tu tiempo!
Plazo de Entrega: No definido