Inicio rápido — farmacia¶
El texto proviene del README de registro del repositorio, incluido al momento de compilar el sitio.
Inicio rápido de desarrollo¶
En una máquina con Docker, junto a una copia de aps-common (../aps-common). Esto levanta un APS Conecta Gestión 34 desechable con PostgreSQL 18 en el puerto 8090; no es el stack de gestion.
Levantar la instancia (en este repositorio):
make instance-up. Habilita la aplicación (lo que corre la migración y el paso de reparación de la semilla), reinicia los procesos web y termina conInstance ready at http://localhost:8090 (admin / admin).Verificar el cableado:
make smoke. Comprueba que la ruta OCS responde 412 sin el encabezadoOCS-APIRequesty 200 con él, que una escritura entra sin token CSRF, los rechazos 400 y 404, el ícono, los huecos de.htaccess, que la compilación produce el bundle y queopenapi.jsonse regenera sin deriva. Termina conAll good.Abrir
http://localhost:8090/apps/farmaciacomoadmin/admin. La lista dice «Todavía no hay medicamentos», que es lo correcto: importar una planilla («Importar planilla») o agregar el primer medicamento a mano («Agregar medicamento»).
make instance-clean elimina la instancia y su base de datos.
Para desarrollar, este repositorio trae su propia instancia de prueba (compose.dev.yaml, Dockerfile.test): make instance-up la levanta y make fix-mount-perms repara un montaje que quedó de solo lectura. La suite instala la aplicación desde su release firmada; el clon es solo para desarrollar.
make test: la suite unitaria de PHPUnit en un contenedor PHP básico, sin APS Conecta Gestión.npm testynpm run lint-js: Vitest y ESLint sobresrc/.make instance-up && make smoke: el cableado contra la instancia desechable (los pasos 1 y 2 de arriba).La suite de integración corre dentro de esa instancia contra su PostgreSQL real, con el objetivo
integrationdel Makefile (necesita antesmake depsymake instance-up; ningún job de CI la ejecuta).make aps-drift: las copias vendorizadas deaps-commonestán al día (make aps-synclas refresca).npm run build: generajs/farmacia-main.js(el bundle no se confirma; el flujo de release lo compila y CI falla si la compilación no produce bundle).
El CI (.github/workflows/ci.yml) ejecuta la comprobación de deriva de aps-common, el lint, las suites unitarias, la comprobación del bundle, make test y make smoke sobre una instancia en frío; el flujo de release (.github/workflows/release.yml) compila y empaqueta en cada PR. Una trampa ya pagada: reiniciar los procesos web después de occ app:enable. Guardan las rutas y el estado de la aplicación en APCu durante una hora, y toda ruta responde 404 hasta que se reinician; make instance-up lo hace solo.