About this project
it-programming / web-development
Open
------------- English--------------
I'm looking for an experienced NodeJs developer for a freelance project. I'm building a virtual assistant using Dialogflow and I need a backend to:
- A webcrawler to search 5 clinics to store the doctors available and their schedules for the upcoming month. The webcrawler should be set in a way that ensures it's not blocked by these websites and should run on a periodic time.
The clinics included are Clinica Indisa, Clinica Vespucio, Hospital del Profesor, and Redsalud
- Store the data from the clinics, the doctors and their schedules on a database
- Rank doctors based on their their schedule availability taking in consideration: amount of available hours outside working hours in the next two weeks, amount of available hours outside working hours in the next month, total amount of available hours in the next month
- Have a search engine that searches the doctor by specialty providing results by most ranked. This engine would allow to filter searches by dates, times, location, clinic name and health insurance coverage.
- Show a set of 5 recommended appointment booking hour for the most ranked doctors: 2 will be the closest available hours, 3 will be the closest hours after working hours
- Searches would be received from Dialogflow via webhook and results should be sent back and presented to the user
- Dialogflow would confirm via webhook if an appointment is confirmed.
The booking would be confirmed in the database including customer information and the hour booked would be set as unavailable
Note: The flows in Dialogflow are already built. The only work needed there is to send the search parameters to the backend, to present the results back to the user and to store the confirmed bookings in the database
I'm looking for an experienced NodeJs developer that is committed to the task, can deliver on time and has background on how to set the achitecture for this platform in an extensible way.
------------- Spanish--------------
Estoy buscando un desarrollador NodeJs con experiencia para un proyecto freelance. Estoy construyendo un asistente virtual usando Dialogflow y necesito un backend que incluya:
- Un webcrawler que busque 5 clinicas para guardar la informacion de los doctores y sus horarios para el proximo mes. El webcrawler no debe ser bloqueado por las paginas por las que navega y debería correrse de forma periodica.
Las clinicas incluidas son Clinica Indisa, Clinica Vespucio, Hospital del Profesor, and Redsalud
- Guardar la informacion de las clinicas, doctores y horarios en una base de datos
- Ranquear a los doctores en base a su disponibilidad de horas teniendo en consideracion: la cantidad de horas disponibles fuera del horario de trabajo en las proximas dos semanas, la cantidad de horas disponibles fuera del horario de trabajo en el proximo mes y la cantidad total de horas disponibles en el proximo mes
- Tener un motor de busqueda que permita buscar los doctores por su especialidad médica, dando resultados por orden de ranking. El motor de busqueda deberia permitir filtrar las busquedas por fecha, hora, región, nombre de la clínica y plan de salud
- Al pasar los resultados de la busqueda se deberian dar 5 horas recomendadas para hacer el agendamiento para los doctores mejor ranqueados: 2 horas van a ser las que esten más proximnas a reservar, 3 horas van a ser las más proximas a reserver fuera del horario de trabajo.
- Las busquedas se van a recibir de Dialogflow via webhook y los resultados tienen que ser devueltos y presentados al usuario en Dialogflow.
- Dialogflow va a confirmar via webhook si se confirma una reserva de hora médica.
- La reserva de hora debe ser guardada en la base de datos incluyendo la información del usuario. La hora médica debe ser actualizada como no disponible en la base de datos.
Nota: Los flujos en Dialogflow ya estan creados. Solo se necesita enviar los parametros de busqueda al backend, recibir el resultado, presentar los resultados al usuario en Dialogflow y enviar la confirmación de la reserva al backend para guardarlo en la base de datos.
Estoy buscando un desarrollador con experiencia en NodeJs que sea comprometido, pueda entregar en tiempo y tenga experiencia en el diseño de arquitectura para que la plataforma pueda ser expandida en el futuro.
Category IT & Programming
Subcategory Web development
What is the scope of the project? Create a new custom site
Is this a project or a position? Project
I currently have I have specifications
Required availability As needed
API Integrations Other (Other APIs)
Roles needed Developer
Delivery term: November 11, 2019
Skills needed