Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tesis Manuela - Victor
Tesis Manuela - Victor
1
2022
DESARROLLAR UN PROTOTIPO DE UN SISTEMA DE INFORMACIÓN QUE PERMITA
LLEVAR UN REGISTRO DE LOS GASTOS DE PERSONAS NATURALES MEDIANTE
BOTS
CRISTIAN CAMARGO
Director del proyector
2
PROGRAMA DE INGENIERÍA DE SISTEMAS
YOPAL
2022
NOTA DE ACEPTACIÓN
3
Firma del Jurado
DEDICATORIA
En primer lugar agradezco a Dios por guiarme en mi camino y por permitirme concluir con mi
objetivo por todas sus bendiciones, a mis Padres que han sabido darme su ejemplo de trabajo y
honradez.
4
AGRADECIMIENTOS
5
Contenido
1 INTRODUCCIÓN 12
2 DEFINICIÓN DEL PROBLEMA 13
3 FORMULACIÓN DEL PROBLEMA 15
4 JUSTIFICACIÓN 16
5 OBJETIVOS 17
5.1.1 OBJETIVO GENERAL 17
6 Alcancé 18
7 MARCO REFERENCIAL 20
7.1 ANTECEDENTES 20
7.1.1 Estado del arte La tecnología en la actualidad juega un valor importante en nuestra
sociedad, pues se ha adaptado fácilmente a las necesidades de las personas con el hecho de
ofrecerles miles de funciones al alcance de su mano, ya sea para el ámbito profesional como
en el personal. 20
▪ 7.3.2.1Finanzas personales 25
▪ 7.3.2.2Sistemas 25
▪ 7.3.2.3Presupuesto 25
▪ 7.3.2.4Gasto 26
▪ 7.3.2.5Asistentes virtuales 26
▪ 7.3.2.6Portal web interactivo 26
▪ 7.3.2.7Requerimientos funcionales 27
▪ 7.3.2.8Requerimientos No funcionales 27
▪ 7.3.2.9Computación en la nube 27
1. Marco legal 28
2. MARCO METODOLÓGICO 31
9.1.1 Marco muestral 35
9.1.2 Tamaño de la muestra 35
6
9.1.3 Instrumentos de recoleccion de datos 35
▪ 10.3.1Resultados 38
9.2.1 Requerimientos funcionales 40
▪ REQUERIMIENTO 41
▪ MODULO 41
▪ DESCRIPCION 41
▪ RF5: Crear usuario 41
▪ Gestion de usuarios 41
▪ Permite el crear un usuario mediante la pagina web 41
▪ RF6: Consultar usuario 41
▪ Gestion de usuarios 41
▪ Consulta la informacion del usuario 41
▪ RF7: Actualizar usuario 41
▪ Gestion de usuarios 41
▪ Actualizacion de la informacion de usuario 41
▪ RF8: Borrar usuario 41
▪ Gestion de usuarios 41
▪ Borrar la informacion de usuario 41
▪ 41
9.2.2 Requerimientos no funcionales 42
9.3.1 Análisis y diseño 43
9.4.1 Aplicativo web 63
9.4.2 Interfaz de usuario 64
10 DESARROLLO 66
11 CRONOGRAMA 67
12 PRESUPUESTO 69
13 CONCLUSIONES 70
● Referencias 70
14 BIBLIOGRAFÍA 70
7
LISTA DE TABLAS
Pág.
LISTA DE FIGURAS
Figura 1.Programacion XP 24
Figura 2 Programación scrum24
8
LISTA DE CUADROS
pág.
LISTA DE ANEXOS
pág.
(Se indican de dos formas: Si son menos de 27 anexos, se listan con las letras del alfabeto, si son
mayores de 27 anexos, se listan con números. Al igual que las anteriores listas, también llevan el
título completo en mayúscula inicial y esta tabla debe ser automática)
9
GLOSARIO
10
Bots: Son programas informáticos que automatizan tareas específicas en una computadora o en la
web, mediante la simulación de la interacción humana. [8]
Registro de gastos: Es la actividad de capturar y mantener un registro de los gastos realizados por
una persona, organización o empresa. [9]
Personas naturales: Se refiere a individuos que actúan en su propio nombre y no como parte de
una organización o empresa. [10]
Gestión de recursos financieros: Se refiere al proceso de planificación, organización, control y
seguimiento de los recursos financieros de una persona, organización o empresa, con el objetivo
de maximizar su uso y minimizar los riesgos financieros. [11]
11
RESUMEN
Proyecto Esmeralda es un proyecto de desarrollo de software hoy direccionado a la creación de
un chat bot de WhatsApp el cual les permita a los usuarios llevar un registro de sus gastos para
mejorar la gestión financiera de los usuarios, simplificar el proceso de registro y análisis de los
datos y permitir a los usuarios tomar decisiones informadas en cuanto a sus gastos. Este sistema
automatizado permitirá a las personas naturales tener un mejor control sobre sus recursos
financieros, lo que les permitirá tomar decisiones informadas en cuanto a sus gastos. Además, la
automatización de la captura de los datos de los gastos mediante bots reducirá la carga de trabajo
en la gestión financiera y permitirá a los usuarios dedicar más tiempo y energía a otras
actividades importantes.
La primera fase involucró la recolección de requerimientos a través de encuestas, las cuales
permitieron identificar las necesidades y preferencias de los potenciales usuarios; las respuestas
fueron entonces analizadas y se decidió qué el chat bot sería el foco del proyecto, ya que esto le
permitiría al usuario ingresar sus gastos de una manera fácil y rápida para poder ser procesada en
su futuro.
Las etapas de codificación y testeo fueron ejecutadas de manera exitosa y a pesar de algunas
pequeñas dificultades, el sistema fue exitosamente desarrollado. Luego de asegurarse que el chat
bot fuera amigable con los usuarios y proveyese una facilidad de uso aceptable se realizó el
despliegue en Azure, lo que le permitió a los early adopters probar el producto final, y se usó el
feedback recibido por ellos en modificaciones y correcciones necesarias para garantizar una
mayor satisfacción.
Se siguieron prácticas de Extreme Programming (XP) lo que aseguró que se trabajara cerca a los
requerimientos reales del usuario, junto con paradigmas de metodologías ágiles lo que habilitó
una flexibilidad en la aproximación del proyecto durante su ciclo de vida.
En general el proyecto fue exitoso en cumplir sus objetivos y el producto final fue bien recibido
por sus usuarios.
12
Palabras Claves: Gastos, control de gastos, herramienta
ABSTRACT
A specific, important and undeniable fact of the advancement in mobile technology is very
important to highlight that the way of communicating has improved since today there are high-
generation telephones that every day improve their new models of comfortable mobile devices
for our society. , in order to serve a larger purpose like solving problems or making life easier and
better.
Furthermore, it creates innovation by facilitating the invention and production of new services,
products or processes in a business environment, which makes it very useful for people's work
and provides various solutions.
This inspired us to develop a useful cost management tool. Financial planning can often be a
complex subject that few people handle, so it is perceived in the day to day of people. The
mismanagement of money can generate situations of economic stress that flourish not only to the
individual, but also to the productivity of the company and the social level of the country, which
is why it was carried out as a research project.
The expense tracking tool that helps people keep track of their expenses and income, categorize
them correctly and get all kinds of reports and comparisons to see how their money is moving.
A tool that allows you to centralize the information of your expenses, but unlike other
13
alternatives, it does not require you to link your accounts directly. Therefore, it is a very
interesting app for those who are most concerned about their privacy and do not want any
company to know the details of their bank accounts, to know where their money goes and what
they spend it on the most. Also, simply manually entering these expenses will create awareness.
1 INTRODUCCIÓN
En la actualidad, la gestión de los recursos financieros es una actividad esencial para las personas
naturales, ya que permite tomar decisiones informadas en cuanto a los gastos y maximizar el uso
de los recursos. Sin embargo, muchas veces el proceso de registro y análisis de los datos de los
gastos resulta tedioso y requiere una gran cantidad de tiempo y esfuerzo, lo que puede afectar la
eficiencia y la precisión de los resultados.
Por ello, en este proyecto se propone el desarrollo de un prototipo de sistema de información
automatizado para la gestión de gastos de personas naturales mediante bots. Este sistema
automatizado permitirá a los usuarios capturar y mantener un registro de sus gastos de manera
eficiente y precisa, lo que les permitirá tomar decisiones informadas en cuanto a sus finanzas.
Además, la automatización de la captura de los datos de los gastos mediante bots reducirá la
carga de trabajo en la gestión financiera y permitirá a los usuarios dedicar más tiempo y energía a
otras actividades importantes.
14
Implementar una herramienta de control de gastos personales se puede hallar patrones, comparar
intervalos de tiempo, medir la rentabilidad y los resultados para tomar decisiones, es decir, de
este modo, uno puede fijarse en qué cosas gasta más e intentar modificar sus hábitos de consumo,
si es que lo necesita. También permite hacer un seguimiento de todos los pagos mensuales, tanto
los que son fijos como los variables, y así poder hacer una estimación aproximada de los gastos
para los siguientes meses
Actualmente existe muchas herramientas que frecen llevar ese descontrol de gastos como apps
móviles, libretas a mano o una simple nota en el celular e ir introduciendo los gastos, etc. Sea
como sea tener controlado los gastos termina olvidándose
Este proyecto sirve como una solución alternativa para que las personas administremos
presupuesto, y así se pueden predecir los próximos problemas. Falta de liquidez para cubrir otras
partidas presupuestarias.
Lo más importante para que un presupuesto personal sea beneficioso para la economía no es
ejecutar el presupuesto, sino actualizarlo mensualmente, semanalmente, incluso diariamente.
2 DEFINICIÓN DEL PROBLEMA
Actualmente pocas personas tienen claro cuánto se están gastando mensualmente, esto puede ser
atribuido a hábitos de consumo y mal uso de herramientas contables que les ayude a administrar
mejor sus gastos, ahorros e inversiones. Actualmente, muchas personas no llevan un registro
detallado de sus gastos, lo que puede dificultar el seguimiento y el control de sus finanzas
personales. Además, los métodos tradicionales de registro de gastos, como las hojas de cálculo o
el papel, pueden ser tediosos e inexactos, y pueden consumir mucho tiempo. Esta falta de control
sobre los gastos personales puede llevar a situaciones de endeudamiento o desequilibrio
financiero, lo que puede tener consecuencias negativas a largo plazo en la vida de las personas.
Además, sin un registro adecuado de los gastos, puede ser difícil identificar patrones de gasto y
áreas donde se pueden realizar ajustes para ahorrar dinero.
El registro de los gastos personales siempre ha sido importante para las personas, pero la falta de
herramientas eficientes para llevar un registro detallado de los gastos ha sido una problemática
constante. Con el auge de la tecnología y el surgimiento de nuevas formas de pago, como las
tarjetas de crédito y las transacciones digitales, la necesidad de una herramienta eficiente para
llevar un registro de los gastos ha aumentado.
El problema afecta a cualquier persona que tenga ingresos y gastos, independientemente de su
edad, género, nivel socioeconómico o país de origen. Sin embargo, puede afectar más a aquellas
personas que tienen dificultades para controlar sus gastos o que tienen ingresos limitados.
En los últimos años, han surgido varias aplicaciones y herramientas en línea para ayudar a las
15
personas a llevar un registro de sus gastos. Algunas de estas aplicaciones utilizan inteligencia
artificial y machine learning para analizar los patrones de gasto y proporcionar recomendaciones
personalizadas para ahorrar dinero. Además, las instituciones financieras también ofrecen
herramientas en línea para ayudar a sus clientes a realizar un seguimiento de sus gastos y
establecer presupuestos. A pesar de estos intentos, aún existe una necesidad de herramientas más
eficientes y accesibles para llevar un registro de los gastos
El Departamento Administrativo Nacional de Estadística (DANE) es la entidad encargada de
recopilar y analizar estadísticas en Colombia. A continuación, se presentan algunas estadísticas
relevantes basadas en datos del DANE sobre el consumo y los gastos de los hogares en
Colombia:
Según la Encuesta Nacional de Presupuestos de los Hogares (ENPH) del DANE, en 2019 el gasto
promedio mensual por hogar en Colombia fue de $3,074,058 pesos. El gasto promedio más alto
se registró en los hogares de la región Caribe, con $3,459,114 pesos al mes.La ENPH del DANE
también muestra que los hogares colombianos gastan en promedio el 56% de sus ingresos en
alimentación, vivienda y transporte. Los gastos en alimentos representan el mayor porcentaje del
gasto, con el 26.4% del gasto total mensual del hogar en 2019. [12]
Según la Encuesta de Calidad de Vida del DANE de 2019, el 48% de la población colombiana
afirma que el ingreso no le alcanza para cubrir sus gastos mensuales. [13]
El análisis estadístico de estas cifras sugiere que los hogares colombianos gastan una parte
significativa de sus ingresos en necesidades básicas, como alimentación, vivienda y transporte.
Además, el análisis sugiere que un porcentaje significativo de la población colombiana tiene
dificultades para cubrir sus gastos mensuales, lo que subraya la importancia de contar con
herramientas eficientes para llevar un registro detallado de los gastos y administrar mejor los
ingresos y los gastos.
16
3 FORMULACIÓN DEL PROBLEMA
17
4 JUSTIFICACIÓN
Este sistema puede ser de gran utilidad para un amplio público, incluyendo a estudiantes,
trabajadores y cualquier persona interesada en llevar un control detallado de sus gastos
personales. En particular, puede ser de gran utilidad para aquellos que tienen dificultades para
administrar sus ingresos y gastos, y para quienes buscan optimizar su presupuesto y mejorar su
situación financiera.
El prototipo de sistema de información puede ser diseñado para ser fácil de usar y accesible para
todos los usuarios, independientemente de su nivel de conocimiento técnico. Además, el uso de
bots para el registro de gastos es una tecnología innovadora que puede mejorar la eficiencia y
rapidez de este proceso.
Tener en cuenta que diariamente las personas para tomar decisiones oportunas y determinar su
estado financiero, algunos optan por implementar un herramienta digital de control de gastos,
otros prefieren utilizar herramientas rudimentarias que podrían mejorar la situación económica
evitando posibles consecuencias de una inadecuada administración de los ingresos como libros,
cuadernos de gastos o herramientas versátiles que mejoran la situación económica e ayuda de un
amigo o familiar, tal como lo demuestra la encuesta realizada por la empresa Yopaleña CreApps,
donde el 97% de los encuestados están interesados en conocer el estado de sus finanzas. Esto
junto con la consulta sobre el uso de herramientas en la cual un aproximado del 41% están
interesados en usar (o ya usan) una que les permita gestionar sus gastos. [14]
Por esto, usar las redes sociales para enviar un mensaje breve y relevante puede ayudar con la
adopción de costumbres y herramientas de finanzas personales, como la gestión de los saldos de
cuentas, pagos de préstamos, y para promover los comportamientos deseados de ahorro.
18
WhatsApp es el servicio de mensajería instantánea con mayor uso en Colombia, según un estudio
realizado el 23 de septiembre del 2021, a fecha del 2019 el 55% de los usuarios de mensajería
instantánea usaban WhatsApp. [15]
Por esto, WhatsApp representa el medio adecuado para tanto llegar a las personas cómo para que
estas no se sientan ajenas o extrañas ante el uso de herramientas y prácticas de las cuales pueden
no estar acostumbrados.
5 OBJETIVOS
● Realizar la toma de requerimientos con los Early Adopters para elaborar el documento de
especificaciones técnicas.
● Analizar los requerimientos de los Early Adopters para definir las tareas del sistema del
control de gastos.
● Crear el diseño y arquitectura del sistema basado en los resultados del análisis y codificar
19
● Realizar el despliegue en la nube del sistema en ambiente productivo específicamente
6 ALCANCÉ
El alcance del presente proyecto será implementar a cabalidad una herramienta de control de
gastos móvil y probar su correcto funcionamiento, contará con una arquitectura de
microservicios o API de funcionamiento.
Los sistemas deben ser accesibles desde internet para que los usuarios puedan consumirlo
desde sus propios dispositivos de internet y que las Apis de Facebook también sean capaces
de llamar los métodos expuestos.
Los costos adheridos al uso de la plataforma no deben superar a los presupuestos definidos
inicialmente y serán asumidos por el equipo durante todo el tiempo de vida del software.
Se pueden usar dominios gratuitos o propietarios, siempre y cuando puedan ser accedidos
desde internet.
La licencia para Microsoft SQL server debe ser provista por el equipo durante el tiempo de
vida del software.
El proyecto fue desplegado en su totalidad en la nube de Azure usando estrategias de
Continuous Integration (CI) provistas desde la plataforma Github con su herramienta de
Github Actions, los diferentes scripts de despliegue fueron escritos en el formato .yaml,
20
adjuntados al repositorio siguiendo la estructura de las Github Actions y se programó para
que se ejecutaran cuando se realizaran acciones “push” en la rama master, de esta manera se
configuraba un despliegue continuo y estandarizado. Cada script tenía configurado su
componente en Azure al cual apuntase y sus tareas eran específicas, lo que redujo el error
humano y aumentó la agilidad en los despliegues significando también menores tiempos de
caída en la plataforma y publicaciones de nuevas sugerencias a una velocidad mayor.
21
▪ Comunicación con otros módulos: Gestión de usuarios, Gestión de gastos,
Gestión de Logs
7 MARCO REFERENCIAL
7.1 ANTECEDENTES
● WALLET también se pueden agregar las cuentas, diferenciar los gastos por categorías y
ver gráficas para comparar los gastos del mes corriente con períodos anteriores. Además ayuda a
planificar y seguir su presupuesto y gastos de forma flexible, por lo que puede tener el control y
lograr sus objetivos. Planifique y maneje sus finanzas de forma activa, junto a personas en las que
confía, utilizando múltiples monedas, bancos e instituciones financieras. [18]
● AKANA es un servicio totalmente gratuito que ayuda a analizar el estado de la salud
financiera de cada persona. Con base en más de 50 métricas, genera un informe que se recibe a
través del correo electrónico, con estadísticas sobre los gastos y ahorros, además de tips que se
pueden aplicar en el día a día para mejorar el performance y alcanzar el equilibrio perfecto. [19]
Easy Home Finance es una app de introducción manual de datos muy versátil, ya que puede
utilizarse en cualquier país porque la divisa no se fija automáticamente cuando descargas la app.
Pero si lo prefieres, puedes escoger una divisa concreta desde la sección de configuración. Sin
embargo, el idioma se corresponderá con el de tu teléfono.
Pros:
Una interfaz sencilla que proporciona una vista general de todos tus gastos;
Creación de múltiples cuentas;
Ofrece la posibilidad de exportar todos tus datos a Excel;
Clasifica tus gastos por categorías.
Contras:
No tiene subcategorías para personalizar aún más los gastos. [22]
las funciones básicas de agregar, editar, eliminar y replicar el registro, también está disponible la
búsqueda en notas, descripción gráfica de las categorías individuales, lista de categorías,
billeteras (cuentas separadas), tipos de pago (opcional), plantillas recurrentes. Los datos se
almacenan en el teléfono de forma segura y puede hacer una copia de seguridad localmente o en
su Google Drive. [23]
● MINT: Es una aplicación de presupuesto muy popular que permite rastrear los gastos,
categorizarlos y establecer metas financieras. También ofrece alertas personalizadas para
ayudarte a mantener un seguimiento de tus gastos y te permite ver un panorama general
de tus finanzas. [26]
● POCKETGUARD: Esta aplicación te ayuda a controlar tus gastos y te ofrece consejos
para ahorrar dinero. También te permite establecer metas financieras y recibir alertas
cuando te acercas a tu límite de gastos. [27]
● YNAB (You Need A Budget): Esta aplicación te ayuda a crear un presupuesto
personalizado y te muestra exactamente cuánto dinero tienes disponible para gastar en
cada categoría. También ofrece herramientas para ayudarte a ahorrar dinero y pagar
deudas. [28]
● GOODBUDGET: Es una aplicación de presupuesto basada en el método de sobres. Te
permite dividir tu dinero en sobres virtuales para cada categoría de gasto y te ayuda a
mantener un seguimiento de tus gastos y a ajustar tu presupuesto en consecuencia. [29]
● AVEAPP: tener un cochinito en tu celular será una de las alternativas más clásicas
llevadas a tu móvil, la tendrás a tu alcance y podrás depositar allí cada ahorro en dólares,
el cual se descontará semanalmente según el método que elijas. Esta forma de ahorro a
pesar de ser tan conocida resulta ser bastante efectiva si se hace con disciplina. [30]
25
7.1 MARCO TEÓRICO
7.2.1 METODOLOGÍAS AGILES
26
forma flexible, autónoma y eficaz reduciendo los costes e incrementando su productividad.
La función de metodologías ágiles es encontrar formas de trabajar se amolden a las condiciones
de
los proyectos, dar más flexibilidad a los procesos y adaptarlos a las necesidades específicas de
cada
equipo de trabajo. [31]
Los marcos ágiles para el desarrollo de software (como Scrum, kanban o programación extrema
[XP]) son la base de procesos conocidos de desarrollo de software, como DevOps y la
integración continua/implementación continua (CI/CD).
Scrum es probablemente el marco ágil que más se utiliza en la actualidad. Sin embargo, no es la
única alternativa dentro del mundo ágil y, para ser sinceros, no todos sus aspectos pueden
caracterizarse como ágiles. Este marco de gestión de trabajos se diseñó para equipos pequeños e
interdisciplinarios de entre 5 y 9 personas, los cuales dividen su trabajo en acciones que se
pueden completar en un período de tiempo uniforme denominado "sprint". Los equipos de Scrum
están formados por los miembros, un facilitador y el dueño de un producto. Por lo general, este
marco de trabajo se implementa cuando un proyecto grande se puede dividir en sprints de dos a
cuatro semanas. Además, se centra en ciclos de retroalimentación mediante reuniones donde se
realiza una "retrospectiva" del sprint. Su lema no oficial bien podría ser "analice todo y
adáptese". [32]
Figura 2 Programación scrum
27
7.2 MARCO CONCEPTUAL
7.3.1 GENERALIDADES
Es en realidad una investigación bibliográfica que habla de las variables que se estudiarán en la
investigación, o de la relación existente entre ellas, descritas en estudios semejantes o previos.
Hace referencia a perspectivas o enfoques teóricos empleados en estudios relacionados, se analiza
su bondad o propiedad. Su pertinencia para el estudio actual, proporciona información del tipo de
sujetos, de la forma de recolección de los datos, de los análisis estadísticos utilizados, de las
dificultades que se pueden encontrar y las maneras de resolverlas. De manera más específica,
conduce al establecimiento de las hipótesis, sugiere formas de análisis, o nuevas perspectivas a
considerar, y al mismo tiempo, ayuda a interpretar los resultados del estudio.
En virtud de lo antes señalado, el marco conceptual de cualquier investigación que se realice en el
campo de la educación médica, deberá desarrollarse a partir de una búsqueda bibliográfica
amplia, profunda y reciente sobre los aspectos que se recomiendan a continuación.
A. La perspectiva teórica de la que se parte para explicar la educación, enseñanza y el aprendizaje
de la temática en cuestión
B. El diseño más adecuado para poner a prueba el efecto del modelo de enseñanza que se
propone, para responder a la pregunta de investigación en cuestión
C. La estrategia más adecuada para llevar a cabo la evaluación del aprendizaje y las variables
relacionadas con el mismo, de acuerdo a los objetivos de la investigación
D. El análisis de los datos que permitirá poner a prueba las hipótesis planteadas
[6]
7.3.2 CONCEPTOS
▪ 7.3.2.1Finanzas personales
El concepto de finanzas personales es uno que lleva siendo usado desde los 80s, el cuál
28
comprende todo el control sobre el uso del dinero personal, tanto los ingresos como los egresos,
pasando por inversiones y deudas. Según Investopedia, las finanzas personales se basan en 3
principios, la priorización, la evaluación y la restricción, exponiendo así en la priorización que las
personas o familias deben siempre priorizar las entradas y salidas de dinero, para saber a cuál se
le debe prestar más atención para seguir recibiendo los ingresos correspondientes, o no perder de
vista los gastos que no tienen ningún tipo de negociación; en la evaluación se determina y genera
un plan a futuro para la realización de inversiones a modo de generar ingresos adicionales y por
último la restricción define el tomar bastante en cuenta la restricción de los diferentes gastos,
precisamente priorizándolos y tomando decisiones que pueda ayudar a reducirlos .
▪ 7.3.2.2Sistemas
▪ 7.3.2.3Presupuesto
Un presupuesto, es una hoja de trabajo, que describe su estilo de vida (o tipo de vida). Un
presupuesto, es para su programa de equilibrio financiero, lo que una dieta es, para su programa
de equilibrio físico.
El objetivo primordial de un presupuesto, es mejorar su situación en un futuro, con un sistema de
gasto disciplinado. [9]
▪ 7.3.2.4Gasto
Los gastos son todas las salidas de dinero, que se producen durante el periodo que abarca el
presupuesto que realiza cualquier miembro de la unidad familiar, este elemento es el que
representa mayor dificultad ya que la mayoría de la población en general expresa desde nuestras
vivencias diarias, que sus gastos son mayores a los ingresos, convirtiéndose en un aspecto clave
para gestionar en el manejo y planeación de estrategias destinadas a mejorar las finanzas
personales.
Aivar Ortiz, a su vez, los clasifica en:
29
Fijos obligatorios: son aquellos imprescindibles para mantener el bienestar y la seguridad de la
unidad familiar. Estos son innegociables e inmodificables, son prioritarios y no se pueden diferir.
Variables necesarias: son aquellos que responden a la suplencia de las necesidades básicas, pero
son susceptibles de modificar haciendo cambios en los hábitos de consumo, negociando con
proveedores u optimizando los recursos.
Variables prescindibles: son los que aportan valor añadido o bienestar, pero que, si es necesario,
se puede prescindir de ellos y seguir teniendo una vida satisfactoria.
Gastos ocasionales: que son puntuales, y generalmente permiten su planeación y la asignación de
recursos, generalmente del ahorro.
▪ 7.3.2.5Asistentes virtuales
Un sitio web interactivo es aquel en el que los usuarios pueden interactuar con los diferentes
elementos del sitio web y tener una experiencia de usuario que no se limita a hacer clic y
desplazarse.
Los sitios web con contenidos interactivos están hechos por diseñadores y desarrolladores cuyo
trabajo principal es ofrecer un sentido de personalización orientado al usuario y un regalo visual a
los visitantes del sitio web. Esto anima a los visitantes a interactuar con los distintos elementos,
lo que aumenta el tráfico y puede ayudar a generar ventas.
Una web interactiva incorpora elementos dinámicos con el fin de alcanzar una serie de objetivos
bien definidos. Debemos mantener una conexión con el usuario a través de contenidos adaptados
a sus necesidades en cada momento. De esta forma, las páginas web dinámicas aportan
coherencia, no permiten que un usuario se sienta perdido cuando navega por el sitio web y lo
acompañan en todo momento por el proceso para alcanzar el objetivo final de conversión. [16]
▪ 7.3.2.7Requerimientos funcionales
Un requisito funcional es una declaración de cómo debe comportarse un sistema. Define lo que el
sistema debe hacer para satisfacer las necesidades o expectativas del usuario. Los requisitos
30
funcionales se pueden considerar como características que el usuario detecta. Son diferentes de
los requisitos no funcionales, que definen cómo debe funcionar internamente el sistema (p. ej.,
rendimiento, seguridad, etc.).
Los requisitos funcionales se componen de dos partes: función y comportamiento. La función es
lo que hace el sistema (por ejemplo, "calcular el impuesto sobre las ventas"). El comportamiento
es cómo lo hace el sistema (p. ej., "El sistema calculará el impuesto sobre las ventas
multiplicando el precio de compra por la tasa impositiva"). [17]
▪ 7.3.2.8Requerimientos No funcionales
▪ 7.3.2.9Computación en la nube
31
1. MARCO LEGAL
El uso de la información financiera y personal de los usuarios en un sistema de registro de gastos
mediante bots está regulado por diversas leyes y normativas en materia de protección de datos y
privacidad. A continuación, se mencionan algunas de las principales regulaciones que se deben
tener en cuenta:
Es importante que el prototipo de sistema de información mediante bots cumpla con todas las
regulaciones y leyes aplicables en materia de protección de datos personales y privacidad de los
usuarios. Esto implica, entre otras cosas, que se debe obtener el consentimiento explícito de los
usuarios para el uso de sus datos personales y garantizar su seguridad y privacidad mediante
medidas de seguridad adecuadas. Además, se deben establecer mecanismos para que los usuarios
puedan ejercer sus derechos de acceso, rectificación, cancelación y oposición sobre sus datos
personales.
Los chatbots están destinados a ofrecer una amplia variedad de servicios tanto a usuarios, como a
las compañías que los utilizan para, entre otras acciones, ofrecer, tramitar y responder de forma
ágil y sencilla a cualquier tipo de petición, reclamación o solicitud promovida por el usuario. Para
ello, necesitarán obtener información de los usuarios con los que interactúen, en aras de dar una
solución óptima a las cuestiones que se les planteen. Los datos recabados por parte del chatbot
pueden ser de muy diversa índole y tipología, conllevando en la gran mayoría de ocasiones que
dichos datos tengan la consideración de datos de carácter personal. En este sentido, se entiende
32
por dato de carácter personal toda información sobre una persona física identificada o
identificable. Bajo esta definición, quedaría encuadrada la información que el usuario le
proporcionase al chat Bot como su nombre, apellidos, documento acreditativo de identidad o
domicilio. Sin embargo, también tiene la consideración de dato de carácter personal la
información relativa a sus intereses, sus gustos, sus datos bancarios o cualesquiera otros datos
que pudieran identificar al usuario. [12]
Ley de Protección de Datos Personales o Ley 1581 de 2012
Reconoce y protege el derecho que tienen todas las personas a conocer, actualizar y rectificar las
informaciones que se hayan recogido sobre ellas en bases de datos o archivos que sean
susceptibles de tratamiento por entidades de naturaleza pública o privada.
Para proteger todos sus datos, cuenta con sistemas de importantes sistemas de seguridad:
Certificado de Seguridad SSL Cloudflare (una de las mejores empresas de certificación en el
mundo). Este certificado garantiza que todos sus datos personales tales como dirección de envío,
los detalles de tarjetas de crédito e historial de pedidos no serán divulgados. Esta tecnología
también impide el acceso a la información por parte de terceros.
33
estar contenidos, entre otros, en registros públicos, documentos públicos, gacetas y boletines
oficiales y sentencias judiciales debidamente ejecutoriadas que no estén sometidas a reserva.
3. Datos sensibles: Se entiende por datos sensibles aquellos que afectan la intimidad del Titular o
cuyo uso indebido puede generar su discriminación, tales como aquellos que revelen el origen
racial o étnico, la orientación política, las convicciones religiosas o filosóficas, la pertenencia a
sindicatos, organizaciones sociales, de derechos humanos o que promueva intereses de cualquier
partido político o que garanticen los derechos y garantías de partidos políticos de oposición, así
como los datos relativos a la salud, a la vida sexual, y los datos biométricos.
4. Transferencia: La transferencia de datos tiene lugar cuando el responsable y/o Encargado del
Tratamiento de datos personales, ubicado en Colombia, envía la información o los datos
personales a un receptor, que a su vez es Responsable del Tratamiento y se encuentra dentro o
fuera del país.
En el Tratamiento de datos personales sensibles, cuando dicho Tratamiento sea posible conforme
a lo establecido en el artículo 6° de la Ley 1581 de 2012, deberán cumplirse las siguientes
obligaciones:
1. Informar al titular que por tratarse de datos sensibles no está obligado a autorizar su
Tratamiento.
34
2. Informar al titular de forma explícita y previa, además de los requisitos generales de la
autorización para la recolección de cualquier tipo de dato personal, cuáles de los datos que serán
objeto de Tratamiento son sensibles y la finalidad del Tratamiento, así como obtener su
consentimiento expreso.
Artículo 11. Limitaciones temporales al Tratamiento de los datos personales. Los responsables y
Encargados del Tratamiento solo podrán recolectar, almacenar, usar o circular los datos
personales durante el tiempo que sea razonable y necesario, de acuerdo con las finalidades que
justificaron el tratamiento, atendiendo a las disposiciones aplicables a la materia de que se trate y
a los aspectos administrativos, contables, fiscales, jurídicos e históricos de la información. Una
vez cumplida la o las finalidades del tratamiento y sin perjuicio de normas legales que dispongan
lo contrario, el responsable y el Encargado deberán proceder a la supresión de los datos
personales en su posesión. No obstante, lo anterior, los datos personales deberán ser conservados
cuando así se requiera para el cumplimiento de una obligación legal o contractual. [13]
2. MARCO METODOLÓGICO
Scrum:
Scrum es una metodología ágil que se basa en la colaboración, la iteración y la flexibilidad para
el desarrollo de proyectos. Esta metodología se enfoca en la entrega temprana y continua de valor
al cliente. El proceso de Scrum se divide en sprints, que son iteraciones de tiempo fijo en las que
se desarrolla un conjunto de funcionalidades.
1. En esta etapa se define el alcance del proyecto y se crean los objetivos específicos y las
historias de usuario para el prototipo del sistema de información. Se establece el product
backlog y se definen los sprints y sus objetivos.
Sprint planning:
2. En esta etapa se define el plan de trabajo para el sprint en curso, se seleccionan las
35
historias de usuario a implementar y se establece un objetivo específico para el sprint.
Daily scrum:
3. Se lleva a cabo una reunión diaria en la que se revisa el progreso del equipo, se discuten
los impedimentos y se establecen planes de acción para avanzar en el sprint.
5. En esta etapa se lleva a cabo una revisión interna del sprint, se discuten los procesos y se
establecen mejoras para el siguiente sprint.
XP:
XP (Extreme Programming) es una metodología de desarrollo ágil que se enfoca en la calidad del
software. Esta metodología se basa en la simplicidad, la comunicación y la retroalimentación
constante. XP utiliza una serie de prácticas para mejorar la calidad del código y la productividad
del equipo.
Programación en parejas:
Integración continua:
Pruebas automatizadas:
Diseño simple:
36
4. El diseño del software se mantiene simple para facilitar la comprensión y el
mantenimiento del código.
Refactorización:
Cliente presente:
37
requerimientos inherentes al equipo de trabajo.A conntinuacion se mostrara a detalle cada una de
las actividades que se llevo a cabo en el desarrollo del proyecto.
El proyecto tuvo un proceso de desarrollo bien definido que incluyó las siguientes fases:
Planificacion, arquitectura y diseño del esquema de la base de datos, desarrollo de software,
testeo, despliegue y post mortem.
1. Fase de planeación: la Primera fase del proyecto que consiste en establecer la comunicación
continúa con el usuario o cliente, para obtener los requerimientos del sistema y elaborar las
historias de usuario.
Actividad 1: definir los requerimientos
Actividad 2: Elaboracion de la lista de requerimientos
Actividad 3: Aprobacion de los requerimientos
Actividad 4: elaborar las historias de usuario
2. Fase de diseño: Es la siguiente etapa de la metodología xp cuya finalidad es servir de guía para
el inicio a la codificación de el proyecto
Actividad 4: Elaborar modelos, casos de uso.
Actividad 5: Diseño de la base de datos
Actividad 6: Diseño de la arquitectura
3. Fase de codificación y desarrollo: es el inicio de la etapa de la codificación Del proyecto
Actividad 7: desarrollo de la API y la aplicación web
4. Fase de testeo:
Actividad 8: configuración de integración continua
Actividad 10: Pruebas E2E
5. Fase de de Despliegue
Actividad 11: Despliegue en ambiente productivo
6. Fase Postmortem:
Actividad 12: Recepcion de feedback por parte de los usuarios
Actividad 13: Estudio de métricas de uso de plataforma
38
9.1 REALIZAR LA TOMA DE REQUERIMIENTOS CON LOS EARLY ADOPTERS PARA
ELABORAR EL DOCUMENTO DE ESPECIFICACIONES TÉCNICAS
39
40
▪ 10.3.1Resultados
41
42
9.2 ANALIZAR LOS REQUERIMIENTOS DE LOS EARLY ADOPTERS PARA DEFINIR
LAS TAREAS DEL SISTEMA DEL CONTROL DE GASTOS.
43
Tabla 2GESTION DE USUARIOS
44
▪
● General
● Login
● Borrar
● Actualizar
● Resumen
46
● Crear registro
A continuación se mostrar las historias de usuario que se utilizaron en las siguientes tablas.
Historias de usuario
Numero:1 Usuario:
Nombre del usuario: General
Prioridad de negocio: Riesgo en desarrollo:
(Alta, Media ,Baja) (Alta , Media ,Baja)
Puntos Estimados Iteración asignada
Descripción:
Observaciones:
Historias de usuario
Numero:2 Usuario:
Nombre del usuario:Login
Prioridad de negocio: Riesgo en desarrollo:
(Alta, Media ,Baja) (Alta , Media ,Baja)
Puntos Estimados Iteración asignada
47
Descripción:
Observaciones:
Historias de usuario
Numero:3 Usuario:
Nombre del usuario:borrar
Prioridad de negocio: Riesgo en desarrollo:
(Alta, Media ,Baja) (Alta , Media ,Baja)
Puntos Estimados Iteración asignada
Descripción:
Observaciones:
Historias de usuario
Numero:4 Usuario:
Nombre del usuario:Actualizar
Prioridad de negocio: Riesgo en desarrollo:
(Alta, Media ,Baja) (Alta , Media ,Baja)
Puntos Estimados Iteración asignada
Descripción:
Observaciones:
Historias de usuario
Numero:5 Usuario:
48
Nombre del usuario:Resumen
Prioridad de negocio: Riesgo en desarrollo:
(Alta, Media ,Baja) (Alta , Media ,Baja)
Puntos Estimados Iteración asignada
Descripción:
Observaciones:
Historias de usuario
Numero:6 Usuario:
Nombre del usuario:Crear registro
Prioridad de negocio: Riesgo en desarrollo:
(Alta, Media ,Baja) (Alta , Media ,Baja)
Puntos Estimados Iteración asignada
Descripción:
Observaciones:
Historias de usuario
Numero:7 Usuario:
Nombre del usuario:Cancelar el proceso
actual
Prioridad de negocio: Riesgo en desarrollo:
(Alta, Media ,Baja) (Alta , Media ,Baja)
Puntos Estimados Iteración asignada
Descripción:
Observaciones:
49
9.3.1.2 Asignación de roles del proyecto.
Figura 1Casos de uso ganeral
50
Figura 3Caso de uso general para whatsapp
51
9.3.1.3 Arquitectura del sistema
Para el desaroollo de este proyecto se utiliza un diseño orientado a dominio como modelo
de arquitectura,
El desarrollo esta dividido en dos partes whatsapp y la api web.
Del lado del whatsapp el usuario envía un mensaje atraves de whatsapp ese mensaje viaja
a los servidores de los usuarios que es el whatsapp api, porque whatsapp bussines tiene
una cuenta que esta configurada y en el momento que reciba el mensaje lo retransmita a
una api que seria la web api ui y luego el Api management recoge las solicitudes y la
retrasmite al whatsapp api ui lo que hace es empezar a validar el mensaje y que tipo de
mensaje es si es nuevo y se comunica con la base de datos .
Y por ultimo la web API
52
Figura 4Diagrama de componentes-arquitectura
53
Figura 5Diagrama de componentes del proyecto
54
9.3.1.4 Codificacion
o 9.3.1.4.1creacion del
bot
Se inicia configurando el api de whatsapp en la aplicación web de desarrolladores de
Facebook entra en la pestaña de whatsapp en la parte de configuración donde se define a
que url va a enviar las solicitudes, esa url es la que entrega azure que es un controlador y
un método.--pendiente -Y cada vez que se reciba una solicitud en el campo de mensajes
Y como se está manejando en la capa de prueba de whatsapp los mensajes solo se pueden
enviar al número americano y solamente a los números registrados que son 5 por defecto es
importante saber que si se quisiera tener más recipientes o más números tendría que tener
un comercio verificado por Facebook que se muestra en la siguiente figura :
55
9.3.1.4.2 codigo de la api de whatsap
A nivel general tenemos 3 carpetas cargadas en Github y que cuenta con una función
activa, esto quiere decir que el código conforme se vaya creando se ira revisando para
evitar bugs con tiempo para reducir significativamente los incidentes de seguridad en el
futuro:
name: Build and deploy ASP.Net Core App to Azure Web App - whatsapp-messages
on:
56
push:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
57
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v2
with:
name: .net-app
path: ${{env.DOTNET_ROOT}}/myapp
deploy:
runs-on: windows-latest
needs: build
environment:
name: 'Production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
steps:
- name: Download artifact from build job
uses: actions/download-artifact@v2
with:
name: .net-app
La segunda carpeta llamada Test donde se valida que todo está funcionando a nivel de código
con las pruebas unitarias que coge el código directamente escrito y trabajar sobre él, y cada
archivo que se van generando para el funcionamiento de la api se le genera un archivo de pruebas
unitarias.
59
12.3.1 CODIGO DE LA WEB
Es una web escrita en angular contiene 4 carpetas y el resto son archivos configurados por
angular.
60
En la carpeta src donde encontramos los hilos de interfaces
61
En la carpeta api se tiene los diferentes servicios para comunicarnos con el api y se muestra en la
siguiente figura:
En el archivo de authorization.service.ts están todos los métodos para loguin,lo que hace es un
llamado http con la url base y el slash y a donde se dirige y recibir la respuesta, su función es
recibir y transmitir.
En este método cuando se coloca el número de celular y luego loguin se envía esa solicitud se
pasa al proceso de validación del número del teléfono y si coincide se crea la otp y se envía.
62
En este método se escribe la otp y se envía para validar
63
La carpeta assets y environments son creadas por angular y la carpeta model están todos los
archivos modelos dentro de la carpeta model esta el archivo moneyMovementResult.ts lo que
haces es que cuando va a retornar lo hace por el array.
y se usan en la app donde esta la información básica para la interfaz por ejemplo la carpeta login
que esta dentro de la carpeta app y están las interfaces de loguin el .html es para lo visual ,el .css
para los estilos,el .spec para las pruebas unitarias y el .ts para el funcionamiento ,estos 4 archivos
funcionan en conjunto para poder ver y utilizar la intefaz de login.
64
En el archivo de variables donde esta la url base donde va a estar la api
65
9.4 REALIZAR EL DESPLIEGUE EN LA NUBE DEL SISTEMA EN AMBIENTE
PRODUCTIVO ESPECÍFICAMENTE PARA EL USO DE LOS EARLY ADOPTERS
9.4.1 Aplicativo web
66
Figura 7ventana principal de la aplicación web
67
9.5 EVALUAR FUNCIONAMIENTO DEL SISTEMA Y FEEDBACK DE LOS USUARIOS
PARA REGISTRAR LA INFORMACIÓN Y EVALUAR LOS RESULTADOS DEL
PROCESO DE ATENCIÓN AL USUARIO
68
10 DESARROLLO
El proyecto tuvo un proceso de desarrollo bien definido que incluyó las siguientes fases:
arquitectura y diseño del esquema de la base de datos, desarrollo de software, testeo, despliegue y
post mortem.
La primera fase del proyecto fue el diseño del esquema de la base de datos y arquitectura.
Durante esta fase coma el equipo de desarrollo trabajo identificando las necesidades primarias
qué fueron definidas para el proyecto y diseñando la arquitectura que satisficiera dichos
requerimientos. Se diseñó también el esquema de la base de datos para asegurar que la data fuera
almacenada en una manera estructurada y eficiente punto hoy esta fase fue crítica para el éxito
del proyecto porque proveyó una ruta clara para que el equipo de desarrollo siguiera.
Una vez la arquitectura y esquema de base de datos fueron definidos se comenzó a construir el
sistema utilizando .Net Core y Angular se priorizó el desarrollo de la API sobre el proyecto web,
ya que se quería asegurar que la API fuese robusta y escalable se siguieron las prácticas de XP
para integración y despliegue continuo asegurando de que el código fuese compilado y testeado
regularmente.
Durante la fase de desarrollo, además, se siguieron varias prácticas de XP incluyendo desarrollo
orientado a pruebas (TDD) e integración continua. El TDD ayudó a escribir código de mejor
calidad al escribir las pruebas primero y luego escribir el código que cumpliese esas pruebas. La
integración continua fue especialmente útil para ayudar a capturar los errores en el proceso de
desarrollo de una manera temprana al compilar y testear el código constantemente.
Luego de que la fase de desarrollo fue completada comenzaron los despliegues. Se utilizaron
pipelines de integración y despliegue continuo, esto ayudó a asegurar que el código fuese
desplegado de manera rápida y consistente, además, al ser automatizado redujo el riesgo del error
humano.
Una vez el sistema fue desplegado los reportes de fallos recibidos fueron atendidos según el
orden de llegada para asegurar un flujo constante de correcciones. Una comunicación constante
se tuvo también con los usuarios para asegurar que estos supieran el estado de la corrección de su
problema.
Durante todo el proceso se siguieron los principios de comunicación, simplicidad, feedback y
coraje qué plantea XP, se mantuvo el diseño y codificación tan simple como fuese posible para
asegurarse de que fuese fácil de entender y mantener. Se mantuvo además un feedback constante
con los usuarios y este fue utilizado para la mejora del sistema. Finalmente, tuvo el coraje de
intentar nuevas cosas y tomar riesgos que asegurara un sistema construido en los más altos
estándares posibles.
En conclusión, el proceso de desarrollo para Proyecto Esmeralda fue bien definido y siguió las
prácticas de desarrollo de software de XP. Fue un proceso exitoso, puesto que al seguir todas
69
estas prácticas y estructuras metodológicas se pudo entregar un sistema de alta calidad que
cumpliese con las necesidades del usuario
11 CRONOGRAMA
• CRONOGRAMA DE ACTIVIDADES
ACTIVIDAD MES 1 MES 2 MES 3 MES 4 MES 5 MES 6 MES 7 MES 8 MES 9 MES 10
MES 11 MES 12
Captura de requerimientos X
Codificación de componentes X X X X
Pruebas unitarias X
Pruebas de E2E X X
Pruebas de performance X
12 PRESUPUESTO
71
13 CONCLUSIONES
Utilizando las Metodologías de desarrollo ágil; scrum y xp se pudo planear la elaboración de una
Herramienta móvil y el portal web, utilizando las faces necesarias de cada una de estas
metodologías.
Finalmente el desarrollo una herramienta móvil y un portal web nos aportó en conocimientos
sobre
En conclusión, se determina que con la introducción de una herramienta para gestionar el
consumo individual se mejorará, ya que nos permite saber cuánto se puede ahorrar en un
momento dado si quitamos o reducimos dinero. Muestre una cosa que se necesita y el dinero que
ha ahorrado cada mes y que incluso los pequeños descuentos pueden sumar grandes ahorros.
72
14 BIBLIOGRAFÍA
● REFERENCIAS
78
15 BIBLIOGRAFÍA
[3]https://www.northware.mx/blog/tecnicas-efectivas-para-la-toma-de-requerimientos/
#:~:text=Los%20Requerimientos%20de%20Software%20son,las%20entradas%20para
%20producir%20salidas. (accedido el 29 de octubre de 2022).
[4]"¿Qué es la metodología ágil?" Red Hat - We make open-source technologies for the
enterprise. https://www.redhat.com/es/devops/what-is-agile-methodology#:~:text=En
%20concreto,%20las%20metodologías%20ágiles,equipo%20para%20ofrecer%20mejoras
%20constantes. (accedido el 29 de octubre de 2022).
[8]"¿Qué son los sistemas de información de una empresa?" KIO Networks : Home ES.
https://www.kionetworks.com/blog/data-center/los-sistemas-de-informacion-de-una-empresa
(accedido el 29 de octubre de 2022).
[11]Y. Fernández. "19 apps, herramientas y programas para controlar los gastos y tu economía
doméstica". Xataka - Tecnología y gadgets, móviles, informática, electrónica.
https://www.xataka.com/basics/19-apps-herramientas-programas-para-controlar-gastos-tu-
economia-domestica (accedido el 30 de octubre de 2022).
[16]"¿Qué es un sitio web con contenido interactivo?" Dominios, planes de hosting, servidores
VPS y servidores dedicados - cdmon. https://www.cdmon.com/es/blog/que-es-un-sitio-web-con-
contenido-interactivo (accedido el 31 de octubre de 2022).
[17]"Qué son los Requisitos Funcionales: Ejemplos, Definición, Guía Completa - Visure
Solutions". Visure Solutions. https://visuresolutions.com/es/blog/functional-requirements/
(accedido el 31 de octubre de 2022).
[20]"Las mejores apps para gestionar tus finanzas personales". N26 The Mobile Bank | Voted
'Best bank in the world 2021'. https://n26.com/es-es/blog/9-apps-para-controlar-tus-gastos
(accedido el 1 de noviembre de 2022).
81
● ANEXOS
82
Anexo D. Instalacion
WebAPI:
El proyecto tiene incluido scripts de GitHub Actions, automatizando el compilado, publicación y
despliegue del proyecto API hacia una app service de Azure, es requerido que el nombre del app
service en el archivo de script (/.github/workflows/main_whatsapp-messages.yml) sea igual al
configurado en Azure:
83
Además, el secreto para el perfil de despliegue debe ser configurado apropiadamente en los
secretos del repositorio
Una vez desplegado las siguientes variables de entorno deben ser configuradas en el app service {
"name": "SQL_CONNECTION_STRG",
"value": "{{Cadena de conexión a base de datos en Microsoft SQL server}}",
"slotSetting": false
},
{
"name": "WHATSAPP_BASE_URL",
"value": "https://graph.facebook.com/v12.0/{PHONE_ID}/messages",
"slotSetting": false
},
{
"name": "WHATSAPP_PHONE_ID",
"value": "{{Id de teléfono asignado por WhatsApp}}",
"slotSetting": false
},
{
"name": "WHATSAPP_PHONE_NUMBER",
84
"value": "{{Número de teléfono al cuál se enviarán mensajes de prueba, Ej: 573178693786}}",
"slotSetting": false
},
{
"name": "WHATSAPP_TOKEN",
"value": "Token asignado por WhatsApp al negocio de WhatsApp bussiness",
"slotSetting": false
}
WebApp UI:
El proyecto tiene incluido scripts de GitHub Actions, automatizando el compilado, publicación y
despliegue del proyecto web hacia un Static Web App de Azure, la integración requiere que el
secreto para despliegue esté correctamente diligenciado en el repositorio, el script de despliegue
se encuentra en la ruta /.github/workflows/ azure-static-web-apps-calm-mud-025acc610.yml.
85
Se requiere configurar la variable de entorno BASE_PATH en el archivo /src/variables.ts para
que esta coincida con la URL asignada a la Web API
86
Anexo E. Manual de usuario
87