Desarrollo local
Necesitas Docker/Compose para el recorrido completo en contenedores. Para ejecutar procesos directamente, necesitas .NET 8 SDK, Node.js/npm y PostgreSQL. Las validaciones operativas usan Python.
Entorno completo con Compose
Desde la raíz:
docker compose up --build
| Servicio | URL o puerto |
|---|---|
| API | http://127.0.0.1:8080 |
| Swagger | http://127.0.0.1:8080/swagger |
| Tablet | http://localhost:3000 |
| Documentación | http://localhost:8000 |
| PostgreSQL | Puerto 5432 |
Este entorno usa replace_me como bearer de laboratorio y credenciales PostgreSQL de ejemplo. PostgreSQL y PDFs usan los volúmenes pgdata y storage. Detener contenedores conserva los volúmenes; eliminarlos borra datos.
En otra máquina, 127.0.0.1 es esa máquina. Para una tablet física configura una URL accesible del equipo servidor y el origen correcto de tablet en CORS; para instalación PWA utiliza HTTPS.
API sin Docker
Arranca PostgreSQL y configura las variables en la terminal. Ejemplo PowerShell desde la raíz:
$env:ASPNETCORE_ENVIRONMENT = 'Development'
$env:DATABASE_URL = 'Host=localhost;Port=5432;Database=bc_pdf_sign;Username=postgres;Password=postgres'
$env:BC_BEARER_TOKEN = 'replace_me'
$env:ENABLE_HTTPS_ONLY = 'false'
dotnet run --project backend/src/Api/Api.csproj --no-launch-profile --urls http://127.0.0.1:8080
La API aplica migraciones al arrancar. Copiar .env.example no carga sus valores en el proceso. STORAGE_ROOT es relativo al directorio de trabajo si no usas una ruta absoluta.
Para OCR fuera de Docker instala las herramientas configuradas en Configuración. La extracción de texto embebido no necesita Tesseract.
Tablet sin Docker
En otra terminal:
cd tablet
npm ci
npm run dev
Vite suele servir en http://localhost:5173; usa la URL que muestre la terminal. Configura VITE_API_BASE_URL en tablet/.env.local si la API no está en http://127.0.0.1:8080. El token se obtiene mediante activación y no debe añadirse a archivos Vite.
Las instrucciones operativas completas están en Operación de tablets.
Documentación
Desde la raíz, usando un entorno Python dedicado:
python -m venv .venv-docs
# Activa .venv-docs según tu terminal.
python -m pip install -r requirements-docs.txt
python -m mkdocs serve
Para comprobar el sitio sin publicarlo:
python -m mkdocs build --strict
docs-mkdocs/ contiene las guías navegables. docs/ contiene referencias de ingeniería y enlaces a esas guías. Mantén rutas y navegación al cambiar títulos; openapi.yaml define el contrato HTTP.
Extensión AL
La configuración y ejemplo de consumo están en Firmar desde AL. Descarga símbolos del tenant y recompila para su versión. Las fuentes no sustituyen la validación en sandbox.
Para las comprobaciones disponibles consulta Validaciones.