// Python Dev

Sistema web para lecturas de servicios publicos

Publicado el 26.03.2026

Tarea del cliente

El cliente necesitaba automatizar la recogida de lecturas de contadores de los inquilinos: eliminar formularios en papel y llamadas, dar al administrador un unico punto de control y ofrecer a los inquilinos una cuenta personal sencilla.

Que se hizo

  • • Se construyo un sistema web con dos roles, inquilino y administrador, donde cada rol solo ve los datos y acciones que le corresponden.
  • • Los inquilinos envian lecturas desde su cuenta personal y el sistema las valida por reglas de negocio: el nuevo valor no puede ser menor que el anterior, no puede superar un salto permitido, solo se acepta en dias autorizados del mes y solo una vez por periodo.
  • • Cuando la validacion falla, el sistema devuelve una razon clara en lugar de un error generico.
  • • El administrador gestiona usuarios, contratos, contadores y configuraciones, y las reglas de validacion se ajustan por tipo de contador sin tocar codigo.
  • • El historial de lecturas esta disponible con filtros y paginacion, y los datos se exportan a Excel con un clic.
  • • La entrada de direcciones usa sugerencias en vivo mediante integracion con Dadata, y el despliegue esta preparado para produccion con Docker detras de Traefik.

Resultado

El cliente recibio un sistema operativo que sustituyo la recogida manual de lecturas, simplifico el flujo para los inquilinos y dio al administrador control transparente sobre contratos, contadores y calidad de datos.

Este proyecto trataba de automatizacion aplicada con restricciones de negocio estrictas. No bastaba con crear un formulario de entrada: el sistema tenia que rechazar lecturas invalidas, explicar la causa y seguir siendo comodo para usuarios que entran una vez al mes.

Otro foco importante fue el contorno administrativo. Las reglas de validacion se movieron a configuraciones para que el cliente pudiera cambiar el comportamiento del sistema sin pedir cambios de codigo. Eso importa en operacion real, donde reglamentos y tipos de contador cambian con el tiempo.

El resultado no fue solo un formulario, sino una herramienta de produccion controlada para procesos de lectura de consumos.

Stack:
#Python 3.11 #aiohttp #PostgreSQL #Alembic #Vanilla JS #Bootstrap 5 #Docker

Nueva solicitud

Enviar una solicitud

Confirme que no es un bot.