semillero-INVIMA/backend
2026-07-12 21:04:18 -05:00
..
invima PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
src PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
.env.example PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
.gitignore PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
APIinvima.js PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
APIinvima.json PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
comando.sql PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
comandos en pgadmin4.txt PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
comandos.txt PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
databasepg.js PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
Diagrama_Excel_DATABASE.xlsx PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
login_test.json PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
package-lock.json PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
package.json PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
PRIMER_AVANCE_BASE_DATOS.docx PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
PRIMER_AVANCE_BASE_DATOS.pdf PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
Productos.csv PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
Productos.ods PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
products_comands.py PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
README.md PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
REGISTROS_SANITARIOS_DE_DISPOSITIVOS_MÉDICOS_Y_OTRAS_TECNOLOGÍAS_20251026.csv PROYECTO INVIMA 2026-07-12 21:04:18 -05:00
server.js PROYECTO INVIMA 2026-07-12 21:04:18 -05:00

INVIMA API (Version Modular)

Backend modular con:

  • autenticacion por usuario/contrasena (/api/auth/*)
  • sincronizacion INVIMA por Socrata
  • catalogo optimizado con filtros y categorias canonicas

Requisitos

  • Node.js 18+
  • PostgreSQL

Instalacion

npm install

Configuracion

  1. Copia .env.example a .env.
  2. Ajusta credenciales de BD y variables de auth.

Ejecutar

npm run dev

Endpoints

Salud

  • GET /api/health

Auth

  • POST /api/auth/login body: { "identifier": "admin", "password": "Admin123*" }
  • GET /api/auth/me (Bearer token)
  • POST /api/auth/logout (Bearer token)

INVIMA (requieren Bearer token)

  • GET /api/invima/datasets
  • GET /api/invima/categorias
  • GET /api/invima/filtros
  • POST /api/invima/sync
  • GET /api/invima/catalogo
  • GET /api/invima/catalogo/export?format=csv|xlsx

Mejoras aplicadas

  • Eliminado flujo legacy de productos y registros.
  • Catalogo unico con categoria canonica (categoria_canonica) y slug (categoria_slug).
  • Indices para busqueda:
    • GIN to_tsvector sobre search_text
    • indices por categoria, dataset, estado, modalidad, grupo y fechas
    • trigram opcional si pg_trgm esta disponible
  • Filtros adicionales: grupos, fechas, onlyVigentes, datasets, categorias.