Skip to content

📝 Proyecto de Prácticas I de Sistema de Documentación de Aica en Asp.Net 8.0

License

Notifications You must be signed in to change notification settings

EduardoProfe666/AicaDocsApi

Repository files navigation

AicaDocsApi

C# .Net Swagger Postgres Docker Render Railway Test

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

📖 Problemática

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

🖼️ Modelo físico de la base de datos

modelo fisico

📶 Configuración de la conexión a la base de datos

Para poder configurar la conexión a la base de datos en PostgreSQL siga los siguientes pasos:

  1. Cree/Actualice en la ruta raíz del proyecto un archivo appsettings.json
  2. 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"
    }
}
  1. Si no tiene la base de datos de Aica, en la consola escriba el siguiente comando: dotnet ef database update. Asegúrese que tiene las Migrations, si no ejecute antes el comando: dotnet ef migrations add InitialCreate

📶 Configuración de la conexión a MinIO

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:

  1. Cree/Actualice en la ruta raíz del proyecto un archivo appsettings.json
  2. 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"
    }
}

🚀 Despliegue

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

🎦 AicaDocs UI

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

🎯 Pruebas de integración automatizadas

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 siguiente enlace

👥 Autores

Lilian Rosa Rojas Rodríguez
Lilian Rosa Rojas Rodríguez

Eduardo Alejandro González Martell
Eduardo Alejandro González Martell

👥 Tutores

  • Dr. Carlos Ramón López Paz
  • Msc. Ana Lilian Infante Abreu

👥 Especialistas

Ing. Pedro Velázquez Borrero
Ing. Pedro Velázquez Borrero

About

📝 Proyecto de Prácticas I de Sistema de Documentación de Aica en Asp.Net 8.0

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published