Skip to content

📒 Learn: Repositorio de buenas prácticas y lineamientos para la codificación de software OAS

Notifications You must be signed in to change notification settings

udistrital/lineamientos_oas

Repository files navigation

Lineamientos OATI 👓

Este repositorio es un conglomerado de buenas prácticas, lineamientos, configuraciones a realizar en el entorno de desarrollo de las nuevas tecnologías de la Oficina Asesora de Tecnologías e Información (OATI)


1. Instalación de Herramientas 🔧

En PC Local 💻

En Ambiente Dockerizado 🐳


2. Repositorios Institucionales 🌿


3. Arquitectura de Aplicaciones 🏦

La arquitectura definida para los sistemas en desarrollo en la OAS es módelo por microservicios.

Microservicios

Microclientes


4. Modelos de Datos 💾


5. APIS Beego 🎓

Generación API CRUD

Los API CRUDs son servicios RESTful desarrollados en Go utilizando el framework API Beego. Están diseñados para realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en la base de datos y proporcionar una interfaz de acceso a datos para los microservicios (API MIDs). El criterio para dividir el proyecto en CRUDs es el siguiente:

  1. Entidades de Dominio: Cada CRUD se encarga de la gestión de una o varias entidades de dominio específicas. Por ejemplo, usuarios, asignaturas, proyectos, etc.

  2. Operaciones CRUD: Los CRUDs proporcionan endpoints RESTful para realizar operaciones CRUD en las entidades de dominio correspondientes. Es importante recordar que por temas de auditoria y trazalabilidad la operación DELETE, no se realiza como tal, en lugar de esto se debe realizar un borrado lógico, inactivando el registro correspondiente.

  3. Interacción con Microservicios: Los CRUDs son consumidos por los microservicios (micro_mids) para acceder y manipular datos de manera eficiente, para permitir la generación de funcionalidades complejas y encapsular procesos de acuerdo con las necesidades de negocio.

A continuación se detalla a nivel técnico el estandar definido para este tipo de APIs:

Generación API MID

Los microservicios (micro_mids) son componentes desarrollados en Go y están diseñados para manejar lógica de negocio específica y orquestar interacciones con los CRUDs correspondientes. El criterio para dividir el proyecto en microservicios se basa en:

  1. Dominio de Negocio: Cada microservicio se centra en un área específica del dominio de negocio. Por ejemplo, gestión de periodos, registro de notas, etc.

  2. Acoplamiento Bajo: Se busca minimizar la dependencia entre microservicios para promover la escalabilidad y la independencia del ciclo de vida.

  3. Funcionalidad Coherente: Los microservicios se definen en función de la funcionalidad coherente que ofrecen y los recursos que consumen.

  4. Interacción con CRUDs: Los micro_mids interactúan con los CRUDs correspondientes para acceder y manipular datos de manera eficiente.

A nivel técnico podemos ver al forma esperada de realizar su implementación:

Generación Reglas de Negocio (RULE)

Configuraciones Adicionales y Utilidades

Plantillas para la creación de APIS GO

5.1. Pruebas Unitarias API Beego 🔍

Pruebas Unitarias API CRUD

Pruebas Unitarias API MID


6. APIS NestJS (NEW) NestJS Icon

Generación API


7. API FLASK (NEW) 🐍


8. Clientes Angular nuevos


9. Despliegues


10. Aseguramiento de la Calidad (QA) y Seguridad Informática

Aseguramiento de la Calidad (QA)

Pruebas Funcionales

Pruebas No Funcionales

Seguridad Informática

Evaluacion de vulnerabilidades

Pentesting (Penetration Testing)

Como Solicitar Pruebas para mi proyecto

Proceso


11. Metodología

Formatos

11. Definición de endpoints para APIs REST

About

📒 Learn: Repositorio de buenas prácticas y lineamientos para la codificación de software OAS

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published