Evaluating bids

Desarrollador React con Experiencia en Manejo de Eventos y Solicitudes Http

Published on the June 27, 2024 in IT & Programming

About this project

Open

Descripción del Proyecto:

Estamos desarrollando una aplicación de apuestas de lotería y hemos encontrado un problema crítico que necesitamos resolver. El problema se presenta en la función que maneja el evento onClick de un botón, cuyo propósito es crear un nuevo documento en la biblioteca "bets" en MongoDB.

Project overview

Descripción del Proyecto: Estamos desarrollando una aplicación de apuestas de lotería y hemos encontrado un problema crítico que necesitamos resolver. El problema se presenta en la función que maneja el evento onClick de un botón, cuyo propósito es crear un nuevo documento en la biblioteca "bets" en MongoDB. Descripción del Problema: La función Onsubmitform se encarga de enviar una solicitud http post para crear una nueva apuesta en nuestra base de datos. Sin embargo, hemos notado que, bajo ciertas condiciones (especialmente cuando la conexión a Internet es inestable o el ping es intermitente), la solicitud se envía dos veces a pesar de que el botón solo se presiona una vez. Esto está causando la duplicación de registros en la base de datos, lo que genera problemas en la gestión de las apuestas. Detalles Técnicos: Aplicación: App de apuestas de lotería Funcionalidad: Crear un nuevo documento en la biblioteca "bets" en MongoDB Problema: Duplicación de solicitudes http post cuando la conexión a internet es intermitente código relacionado: const onsubmitform: submithandler<formdata> = async (data) => { if (loading) return; dispatch(startloading()); let newbet = { betid: '', number: data?.number.toString(), price: data?.price, position: data?.position === 0 ? 1 : data?.position, bufferCount: bufferCount + 1, lotteries: selectedLotteries.map((lottery) => lottery?.id), lotteriesNames: selectedLotteries.map((lottery) => { return { code: lottery?.code, name: lottery?.name }; }), particular: showParticularInput }; if (showRedoubleInput) { if (data.redoublePosition < data.position) { dispatch(setMessage({ action: 'La posición del segundo número debe ser igual o superior a la posición del primer número' }, 'error')); dispatch(endLoading()); return; } const newRedoubleBet = { number: '**' + data?.redoubleNumber.toString(), position: data?.redoublePosition === 0 ? 2 : data?.redoublePosition, }; if (data?.redoubleNumber && !redoubleDisabled()) { newBet.redouble = newRedoubleBet; } } const body = [ { bookie: { ...User }, ...NewBet, 'be-bufferCount': bufferCount + 1, bufferCount: bufferCount + 1, id: 12, 'be-id': false, sending: false, deleted: false, sendingDeletion: false, toDelete: false, show: true, game: 'quiniela', }, ]; try { const response = await postBets(body); if (response?.data?.status === 'success') { newBet.betId = response?.data?.data[0]?._id; setSavedLotteriesBets([...SavedLotteriesBets, newBet]); setBufferCount(bufferCount + 1); setBetsIds([...BetsIds, response?.data?.data[0]?.id]); setBetsOfTodayId(response?.data?.data[0]?.day); } dispatch(setMessage({ action: 'Jugada realizada con éxito' })); } catch (error) { dispatch(setMessage({ action: 'ERROR Jugada no realizada' }, 'error')); } finally { getTodayBets(); reset({ price: watch('price') }); focusInputNumber(); dispatch(endLoading()); } }; Requisitos del Desarrollador: Experiencia en desarrollo con React Conocimiento en manejo de eventos y solicitudes HTTP Experiencia con Redux para la gestión del estado Familiaridad con bases de datos MongoDB Capacidad para solucionar problemas relacionados con la intermitencia de la red Objetivo del Proyecto: El objetivo es asegurar que la función onSubmitForm se ejecute una sola vez por cada clic del usuario, independientemente de la estabilidad de la conexión a Internet, y prevenir la duplicación de registros en la base de datos. Cómo Aplicar: Si tienes experiencia en el manejo de estos problemas y crees que puedes ayudarnos a resolver este inconveniente, por favor aplica a este proyecto. Asegúrate de incluir ejemplos de trabajos similares que hayas realizado y detallar tu experiencia con React y el manejo de solicitudes HTTP.

Category IT & Programming
Subcategory Web development
What is the scope of the project? Medium-sized change
Is this a project or a position? Project
I currently have Not applicable
Required availability As needed
API Integrations Other (Other APIs)
Roles needed Developer

Delivery term: Not specified

Skills needed

Other projects posted by M.