Feat/sincronizacion tasa de cambio bcv#26
Closed
josean798 wants to merge 23 commits into
Closed
Conversation
* chore: backend structure following clean architecture * fix: replace eslintignore file * feat: prisma configuration * fix: postgresql volume in docker composer * fix: migrate ci to use pnpm instead of npm * fix: if the database url is not declared, the server fail fast * feat: add database url to the env example * feat: generate prisma client step in ci * fix: delete database url env variable * fix: allow prisma builds in the instalation
* feat: add events, users and event members to the prisma schema * feat(api): user repository and its implementation with prisma * feat(api): user entity * feat(api): auth module * feat(api): container for creating each module * feat(api): enviromental variable is missing error * feat(api): global error handler * feat(api): validate schema middleware * fix(api): configure to not use the js extention in the imports * feat(api): auth middleware and user seeder * feat(web): eventflow logos * feat(web): global styles * feat(web): axios instance configuration * feat(web): login page * feat(shared): add zod as a dependency
Feat/global user module
Feat/base event module
…po-de-entradas FEAT: Implementacion Modulo tipo de entradas
feat: event staff module
* feat(db): add exchange rate and payment method to the prisma schema * feat(api): add payment method module * feat(api): add exchange rate module * feat(api): add update event endpoint to the events module * feat(web): add event settings page * fix: apply suggestions from code review
* feat(db): add order, order item, customer and payment tables to the prisma schema * feat(api): transaction manager implementation with prisma * feat(api): sales module with its types and schemas * feat(web): add sales page * fix: apply suggestions from code review
* feat(db): add ticket model to the prisma schema * feat(api): add ticketing module with crypto service * feat(shared): add types and schemas for the ticketing module * feat(web): add download tickets modal in the sales module * feat: apply suggestions from code review
* feat(db): add access log model to the prisma schema * feat(api): add access module implementation * feat(shared): access types and schemas * feat(web): add door registers page * feat: apply suggestions from code review
33 tasks
33 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚀 Pull Request: Sistema de Sincronización de Tasas BCV
Este Pull Request introduce un nuevo sistema para sincronizar automáticamente las tasas de cambio del Banco Central de Venezuela (BCV). Incluye la infraestructura necesaria para el scraping (extracción de datos), persistencia en base de datos y la auto-aplicación de estas tasas a los eventos.
✨ Aspectos Clave
BcvRate: Creada para almacenar las tasas obtenidas.ExchangeRateyEventpara soportar la sincronización automática.🛠️ Cambios Detallados
🔄 Sistema de Auto-Sincronización de Tasas BCV
BcvRatepara almacenar las tasas del BCV, junto con el esquema de Prisma y su respectiva migración. [1] [2] [3] [4] [5]BcvProvider: Se implementó este servicio para consultar, guardar en caché y refrescar las tasas, actualizando automáticamente los eventos que tengan la opciónautoSyncBcvactiva.cheerioyundicipara extraer los valores actualizados del USD y EUR directamente desde la página oficial del BCV.📊 Cambios en Esquemas y Entidades
Event: Se extendió para incluir el campo booleanoautoSyncBcv, permitiendo a cada evento decidir si desea activar la sincronización automática. [1] [2] [3] [4] [5] [6] [7] [8] [9]ExchangeRate: Se actualizó para admitir el camposource(manualobcv). Además, el camposetByahora permite valores nulos (nullable) para diferenciar si la tasa fue fijada de forma manual por un usuario o de forma automática por el sistema. [1] [2] [3] [4]📦 Nuevas Dependencias
cheerio(para el parsing de HTML) yundici(para realizar peticiones HTTP de manera eficiente). [1] [2]