Entradas

Mostrando las entradas de noviembre, 2024

Reunion

 Los miembros del equipo se reunieron para detallar los aspectos a trabajar hasta la fecha de entrega del cuarto proyecto. Se definió que Oscar va a trabajar en el disño web para ver las tarjetas asociadas por un usuario dependiendo del tipo que sea y Dayana va a trabajar en la simulación para realizar las operaciones de crear las tarjetas y sus moviientos correspondientes para cada fecha de operación. La reunión duró 40 minutos

Arreglo de diagrama

Imagen
 Se volvió a repasar las instrucciones del proyecto para revisar el diseño creado para la base de datos y se hicieron unos arreglos, como agregar la tabla de tipoUsuario para clasificar a los usarios como  administrador y TarjetaHabiente. También se agregó la tabla tipoCuenta para clasificar las TF si están asociadas a una TCM o TCA y la tabla de DBerror que se había dejado de lado en el TC3. Se dedicó 1:30 para repasar las indicaciones del proyecto, repasar el diagrama y realizar los arreglos.

Cierres de cuenta

 Se hizo el script para el cierre de estados de cuenta implementando los movimientos por cargos y multas correspondientes. USE [tarjetaCredito] GO CREATE PROCEDURE [dbo].[ProcesoCierreEstadoCuenta] AS BEGIN     SET NOCOUNT ON;     BEGIN TRY         DECLARE @FechaCierre DATE = GETDATE();         DECLARE @LimiteOperacionesATM INT;         DECLARE @LimiteOperacionesVentanilla INT; DECLARE @outResult INT;         -- Obtener los valores de los límites         SELECT @LimiteOperacionesATM = monto         FROM [dbo].[Reglas]         WHERE nombre = 'LimiteOperacionesATM';         SELECT @LimiteOperacionesVentanilla = monto         FROM [dbo].[Reglas]         WHERE nombre = 'LimiteOperacionesVentanilla'; BEGIN TRANSACTION cierre;         -- Cargos...

Creacion de la base de datos en la nube

Imagen
 1. Se ha creado la base de datos usando la plataforma "CloudCluster", la razón por la cúal hemos hecho esto es para aprovechar la prueba gratiuta de una semana, por lo que hemos estado haciendo las pruebas en el entorno local. De momento ha sido un exito la conexión con la BD en la nube por medio del management y en la capa logica. Hemos seguido las instrucciones a la hora de crear los usuario y la base de datos Fecha: 27/11/2024 Hora: 20 min   

Modelo físico y Simulacion

Imagen
 El modelo físico de la base de datos se ha creado, aunque hace falta un poco de pruebas para realmente saber su efectividad, pero en unos instantes se atenderá. Se ha complicado/escalado mucho el problema que a la hora de diseñarlo, ya que tuvimos que hacer muchas pruebas ya sea de forma fisica (CRUD) y de forma conceptual (A mano) para lograr nuestro objetivo, se iba complicando cada vez más cuanto más nivel de abstracción requerimos a partir de las relaciones y que estás tengan sentido en el momento que las usamos.  Por otra parte la simulación va por buen camino, esta logra por medio de ciclos que este vaya dia por dia, solo faltaría optimizar los procedimiendos para que se enfrenten a este escenario y que se vaya haciendo los rebajos según el tiempo transcurrido(fecha de corte). Fecha: 26/11/2024 Hora: 4horas + 1horas
Imagen
Se creó el backend con sus debidas rutas y la conexion hacia la base de datos, se ha logrado obtener el listado de tarjetas en este sitio, proximamente este se reflejará en el front. Para la creacion de este se usó express.js y también mssql para la conexion de ambas capas. Lo proximó será crear más rutas y controladores requeridos para todas las solicitudes necesarias en la base de datos. fecha: 25/11 tiempo: 1h

Proceso masivo de intereses

 Se dedicó dos horas de tiempo para programar el proceso masivo de intereses. USE [tarjetaCredito] GO /****** Object:  StoredProcedure [dbo].[ProcesoMasivoIntereses]    Script Date: 11/17/2024 5:40:01 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[ProcesoMasivoIntereses] @outResult INT AS BEGIN     SET NOCOUNT ON;     BEGIN TRY DECLARE @FechaOperacion DATE = GETDATE(); -- luego se saca de una regla de negocio DECLARE @TasaInteresCorrienteMensual DECIMAL(3, 2) = 0.04; DECLARE @TasaInteresMoratorios DECIMAL(10, 5) = 0.05;          -- tablas  para almacenar los cálculos de intereses DECLARE @InteresesCorrientes TABLE (             id INT             , fechaOperacion DATE             , Monto MONEY             , TipoDeMovimiento VARCHAR(64)   ...

Proceso masivo de renovacion de TF

 Se dedico una hora de tiempo para crear el proceso masivo USE [tarjetaCredito] GO /****** Object:  StoredProcedure [dbo].[RenovacionMasivaTF]    Script Date: 11/12/2024 5:01:08 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[RenovacionMasivaTF]     @inIdTF INT                 , @outResult INT OUTPUT    AS BEGIN     SET NOCOUNT ON;     BEGIN TRY -- nuevo numero de tarjeta DECLARE @numTarjeta VARCHAR(16);         SET @outResult = 0; -- num de tarjeta de 16 numeros SET @numTarjeta = LEFT(ABS(CHECKSUM(NEWID())) , 8) + LEFT(ABS(CHECKSUM(NEWID())) , 8);         BEGIN TRANSACTION RenovacionTF;         -- inactivar la tarjeta vieja         UPDATE [dbo].[TF]         SET esActiva = 0         WHERE id = @inIdTF; ...

Proceso masivo perdida/robo de una TF

Se dedicó una hora creando el sp masivo para reportar la perdida o robo de una tf USE [tarjetaCredito] GO /****** Object:  StoredProcedure [dbo].[ReportarPerdidaRoboTF]    Script Date: 11/12/2024 10:53:29 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[ReportarPerdidaRoboTF]     @inIdTF INT           -- ID de la TF a reportar como perdida/robada     , @outResult INT AS BEGIN     SET NOCOUNT ON;     BEGIN TRY         DECLARE              @IdUltimaTF INT             , @idTCM INT             , @FechaProceso DATE = GETDATE() , @referencia VARCHAR(8); SET @referencia = SUBSTRING(REPLACE(NEWID() , '-' , '') , 1 , 5); SET @outResult = 0;         -- verificar que la TF existe y está activa    ...

Creacion de la estructura del repositorio

Imagen
     Se estuve trabajando sobre la estructura que obtendra el sitio, en este se decidio usar recursos vanilla sencillos para no tener que aprender otras disciplinas a la hora de elaborar la aplicación web. Por lo que la parte del FrontEnd será construido con JavaScript Vanilla, por otro lado el BackEnd será desarrollado con Express.js, está es considerado una biblioteca impresindible a la hora de trabajar en back, ya sea por sus recursos que ayudan a reducir las lineas de codigos y que de esta manera sea más legible a la hora de comprender y corregir el codigo, la siguiete estructura es que se usó: A su vez cabe mencionar que se usó un herramienta llamada "TurboPack", que es usada para trabajar en proyectos "monorepo", esto facilita a la hora de construir aplicaciones web en donde se requiere levantar el servidor a su vez que desarrollas en el front, su principal caracteristica es para empaquetar los proyectos y precisamente tener la facilidad de manejarlo en conjun...