Introducción¶
¿Qué es Daki?
Daki es una aplicación de backend diseñada para manejar el pronóstico de demanda y la gestión de archivos, permitiendo una clara división del trabajo en entornos de desarrollo distribuidos.
Arquitectura y Filosofía del Diseño¶
Este proyecto es una aplicación de backend (Serverless) construida con Azure Functions en Python. Su diseño se fundamenta en una arquitectura modular para manejar la complejidad y garantizar la escalabilidad y el mantenimiento a largo plazo.
Nota
La arquitectura de este proyecto es clave para un despliegue y un mantenimiento eficientes. El enfoque modular facilita el desarrollo en equipos y la adición de nuevas funcionalidades sin afectar el código principal.
El diseño del proyecto evita un diseño monolítico mediante la adopción de un sistema de Blueprints, que agrupa lógicamente las funciones por sus responsabilidades.
Ventajas de la Implementación Modular¶
Aspecto |
Beneficio |
|---|---|
Separación de Responsabilidades |
Cada |
Reutilización y Consistencia |
El uso de módulos de |
Escalabilidad y Mantenimiento |
El archivo principal |
Componentes Clave de la Arquitectura¶
La arquitectura del proyecto está organizada en los siguientes directorios clave, cada uno con una función específica:
Directorio |
Responsabilidad |
|---|---|
|
Es el punto de entrada principal del servidor. Su única responsabilidad es inicializar la aplicación y registrar todos los |
|
Contiene los módulos lógicos (Blueprints) que encapsulan las funciones y definen sus rutas de negocio asociadas. |
|
Contiene módulos con funciones reutilizables que son consumidas por los |
Truco
Para entender cómo se implementa la lógica de los «helpers», revisa el archivo helpers/azure/blob_storage.py.