Software empresarial y arquitectura web
Desarrollo de plataforma web para la Municipalidad Provincial de Arequipa
EstudioPHP fue contratado por Vitem Consultores, proveedor del proyecto para la Municipalidad Provincial de Arequipa, para desarrollar una plataforma web institucional y de servicios municipales con arquitectura desacoplada.
Contexto del proyecto
La Municipalidad Provincial de Arequipa tenía un proyecto web y Vitem Consultores participaba como proveedor de la Municipalidad para ese proyecto. Vitem Consultores contrató directamente a EstudioPHP para desarrollar la solución tecnológica.
La participación de EstudioPHP se dio, por tanto, a través de Vitem Consultores y no mediante una contratación directa de la Municipalidad Provincial de Arequipa.
Alcance general de la plataforma
El proyecto no consistía en una web estática. Se construyó una plataforma para publicar contenido, administrar información por áreas y ofrecer consulta pública de información institucional y servicios municipales.
- Noticias, cultura y turismo.
- Normas municipales y sesiones de concejo.
- Agenda de Alcaldía y agenda de Gerencia Municipal.
- Información de trámites TUPA y libro de reclamaciones.
- Usuarios, roles, permisos y registros de actividad.
- Documentos PDF, imágenes y calendarios.
Arquitectura web desacoplada
La solución se organizó en cuatro aplicaciones relacionadas: un backend Symfony, un panel administrativo Nuxt/Vue, un portal público Nuxt/Vue y una aplicación Vue independiente para el calendario.
La separación permitió mantener la lógica de negocio, la persistencia y las validaciones en el backend, mientras el portal público y el panel administrativo consumían la API REST según sus responsabilidades.
Backend y API REST
Christian Paredes desarrolló el backend con PHP, Symfony 5.1, Doctrine ORM y MySQL/MariaDB. La API principal se implementó principalmente mediante controladores Symfony y respuestas JSON.
El backend concentraba autenticación, roles, permisos, persistencia y validaciones, además de la gestión de contenidos, documentos e integración con servicios vinculados al proyecto.
Panel administrativo
El panel administrativo se desarrolló con Nuxt 2, Vue.js 2 y Vuetify. Permitía gestionar los distintos módulos de la plataforma según los roles y permisos asignados a cada área.
- Noticias, cultura y turismo.
- Normas municipales y sesiones de concejo.
- Agendas institucionales.
- Usuarios, roles y permisos.
- Documentos, imágenes y registros de actividad.
Portal público
El portal público fue construido con Nuxt 2, Vue.js 2, Vuetify y TailwindCSS. Consumía la API para presentar la información institucional y los servicios municipales administrados desde el panel.
Esta separación evitaba incorporar la administración dentro del portal público y permitía que cada interfaz atendiera una responsabilidad distinta.
Normas, sesiones y gestión documental
La plataforma contemplaba la administración y consulta de ordenanzas, acuerdos, decretos y resoluciones, junto con documentos PDF e imágenes asociados a los contenidos.
También incluía información de sesiones de concejo y los recursos documentales necesarios para su publicación.
Agendas y calendario
El sistema mantenía agendas separadas para Alcaldía y Gerencia Municipal. Además, se desarrolló una aplicación Vue independiente destinada a la visualización del calendario.
Integración para consulta TUPA
El backend integraba la consulta de información TUPA mediante un servicio existente en la infraestructura del proyecto. Los detalles internos de esa integración no se publican por seguridad y privacidad.
Autenticación, roles y permisos
La autenticación se implementó mediante JWT. El sistema contemplaba roles por área, permisos de actualización y eliminación, y validaciones aplicadas también en el backend.
Esta descripción corresponde al trabajo implementado y no constituye una auditoría de seguridad actual ni una afirmación sobre su operación en producción.
Participación de EstudioPHP
EstudioPHP fue contratado por Vitem Consultores para el desarrollo tecnológico del proyecto. Christian Paredes estuvo a cargo del backend, mientras que el frontend fue desarrollado por otro integrante del equipo EstudioPHP.
Estado final del proyecto
La plataforma fue desarrollada y desplegada en la infraestructura destinada al proyecto. Posteriormente se planteó la puesta en producción definitiva, pero esa etapa no llegó a completarse. Como consecuencia, el sistema no entró en operación ni llegó a utilizarse en producción.
Por este motivo, el proyecto se presenta como una experiencia de desarrollo y arquitectura de software, sin atribuir resultados de uso, adopción o impacto institucional.
Aprendizaje profesional
La experiencia reforzó la importancia de definir desde el inicio no solo la arquitectura y el desarrollo, sino también las responsabilidades de despliegue, transferencia técnica, documentación, mantenimiento y operación posterior.
Arquitectura de la solución
Componentes separados, conectados mediante la API.
Portal público
Consultaba la API para presentar información institucional y servicios municipales.
API REST
Centralizaba lógica de negocio, persistencia, autenticación, permisos, validaciones e integraciones.
Panel administrativo
Consumía la API para gestionar contenidos, documentos, usuarios y agendas.
La solución incluía además una aplicación Vue independiente para visualizar el calendario.
Trabajo realizado y estado
Arquitectura
Separación entre backend, portal público, panel administrativo y calendario.
Backend
Desarrollo de API, persistencia, autenticación, permisos, contenidos e integraciones.
Frontend
Desarrollo del portal y panel por otro integrante del equipo EstudioPHP.
Despliegue
Instalación de la solución en la infraestructura destinada al proyecto.
Estado final
La puesta en producción definitiva no se completó y el sistema no entró en operación.
Tecnologías y conocimientos
Backend
Frontend
Capacidades
Siguiente paso
¿Necesitas desarrollar o modernizar un sistema web?
Conversemos sobre software empresarial, APIs, integraciones o la modernización de una plataforma existente.