Proyecto de Práctica I de Ingeniería Informática.
Se creó un sistema de para el control de la documentación para el Sistema de Gestión de Calidad de la Empresa Laboratorios Farmacéuticos de AICA+.
Se creó una minimal API en Asp.Net Core 8 cumpliendo con todos los requisitos capturados.
Se creó una base de datos en PostgreSql
robusta con dichos requisitos, y para
el almacenamiento de los ficheros se empleó MinIO
En los Laboratorios Aica se desea llevar un control de la documentación del Sistema de Gestión de Calidad de la empresa. Esta documentación se organiza de acuerdo a un alcance, que puede ser Rector (aplica en toda la empresa) o específico (aplica en una UEB); un proceso, que corresponde con uno de los procesos definidos en el mapa de procesos de la organización; y un tipo de documento, que es definido por los especialistas del Área de Calidad. De estos documentos se conoce el código, título, edición, páginas, fecha de vigencia y dos archivos asociados, uno en formato pdf y otro en word. Se desea crear un sistema que permita la creación y visualización de esta documentación. Para ello, se definen los siguientes requisitos:
- Creación de documentos
- Búsqueda de documentos, con filtros asociados a cada propiedad del documento
- Descargar documentos, donde se especifica que archivo se desea descargar (pdf o word) y un motivo de la descarga
Para poder configurar la conexión a la base de datos en PostgreSQL siga los siguientes pasos:
- Cree/Actualice en la ruta raíz del proyecto un archivo
appsettings.json
- En dicho archivo coloque las siguientes líneas, sustituyendo
INFO
por la información correspondiente en cada caso:
}
(...),
"ConnectionStrings": {
"PostgreSQLConnection": "Server=INFO;Port=INFO;Database=INFO;User Id=INFO;password=INFO"
}
}
- Si no tiene la base de datos de Aica, en la consola escriba el siguiente comando:
dotnet ef database update
. Asegúrese que tiene lasMigrations
, si no ejecute antes el comando:dotnet ef migrations add InitialCreate
Important
Se debe tener instalado MinIO Server
y tener configurado el usuario necesario
con permiso de escritura-lectura y el bucket
en el cual se almacenarán los datos
con la estructura de carpetas /pdf
y /word
Para poder configurar la conexión a MinIO siga los siguientes pasos:
- Cree/Actualice en la ruta raíz del proyecto un archivo
appsettings.json
- En dicho archivo coloque las siguientes líneas, sustituyendo
INFO
por la información correspondiente en cada caso:
}
(...),
"Minio": {
"Endpoint": "INFO",
"AccessKey": "INFO",
"SecretKey": "INFO",
"Bucket": "INFO"
}
}
Otra posible forma de probar la api es usando el servidor de prueba en la nube de MinIO,
usando los siguientes datos en el archivo appsettings.json
:
}
(...),
"Minio": {
"Endpoint": "play.min.io",
"AccessKey": "testuser",
"SecretKey": "testuser",
"Bucket": "aica-docs"
}
}
Note
Estos despliegues son solamente para probar la Api en entornos de despliegue, no es para el uso extensivo de la misma.
Se realizó un despliegue de prueba de los 3 servicios básicos de la API:
- Despliegue del servidor Asp.Net en Render
- Despliegue de la base de datos en ElephantSQL
- Despliegue del servidor de MinIO en Railway
Se realizó una prueba en Razor Pages
para ilustrar como sería un posible escenario
de consumo de la api. La página se encuentra en el siguiente enlace
Se diseñaron y ejecutaron pruebas de integración automatizadas a la api en la rama . El último resultado de las pruebas se encuentra en el
Lilian Rosa Rojas Rodríguez |
Eduardo Alejandro González Martell |
- Dr. Carlos Ramón López Paz
- Msc. Ana Lilian Infante Abreu
Ing. Pedro Velázquez Borrero |