ANASS.

Generador de Sellos de Accesibilidad

Un generador de sellos de accesibilidad web que permite a los desarrolladores crear y personalizar sellos para sus sitios web, promoviendo la inclusión digital.

stack tecnológico

React
Python
Docker
Terraform
Captura de pantalla de Generador de Sellos de Accesibilidad

Contexto y propósito

Este proyecto nació durante mis prácticas: en la empresa necesitábamos actualizar un “sello” de accesibilidad cada vez que cambiaba la puntuación, y el proceso dependía de abrir Photoshop y editar manualmente el número en la imagen. Para ahorrar tiempo y que cualquier persona (sin conocimientos de diseño) pudiera generar el sello al instante, construí una solución automatizada: una API que compone la imagen con la puntuación y un frontend web que permite previsualizar y descargar el sello en segundos.


Desafíos Técnicos y Soluciones de Ingeniería

1) Composición tipográfica y precisión visual sin Photoshop (Pillow)

La legibilidad y el equilibrio visual del sello dependen de:

Archivos clave:

2) Gestión de activos híbrida: Azure Blob Storage + fallback local

Para desplegar en diferentes entornos sin acoplarme a un sistema de archivos fijo:

Beneficios:

3) API sin estado en Azure Functions y distribución simple (Base64)

Opté por una API serverless (Azure Functions) para exponer un contrato mínimo y reproducible:

Endpoints principales:


Mi Pipeline de CI/CD (DevOps)

He preparado el proyecto para integrarse en flujos de entrega con contenedores:

  1. Build

    • Frontend (generador-de-sellos): React + TypeScript con Vite. Se puede construir con Bun o PNPM (bloqueos incluidos).
    • API (api): Imagen Docker basada en Azure Functions Python.
  2. Dockerización y orquestación

    • docker-compose.yml levanta dos servicios: api (expuesto internamente en el puerto 80 del contenedor). web (frontend) mapeado a http://localhost:4280.
    • Health checks:
      • API: GET http://localhost:80/api/health (desde el propio contenedor).
      • Web: GET http://localhost:4280/.
    • Red y nombres de servicio internos para que el frontend consuma la API sin necesidad de exponer puertos adicionales.
  3. Infraestructura como código

    • terraform/: base para definir recursos cloud (por ekemplo, cuentas de almacenamiento de Azure para fuentes e imágenes).

Organización del Proyecto