Mi Turno

Gestor de citas con React/Node.js

Durante este emocionante proyecto de desarrollo de una aplicación web cuya función es que las empresas de diversos sectores gestionen el flujo de clientes en sus oficinas para brindar un mejor servicio logramos diseñar y construir una plataforma altamente funcional y versátil que aborda eficazmente los desafíos de reserva de turnos y gestión empresarial.

A través de la metodología SCRUM y la colaboración cercana en pair programming en un equipo de 4 personas.

Esta Experiencia Me Proporcionó:

1. Desarrollo Integral y Documentación del Proceso:
En el proyecto, desempeñé roles duales, abordando el desarrollo del Back-end y respaldando el Front-end. Mi enfoque abarcó la lógica de negocio, implementando el backend y asegurando la coherencia del código mediante la documentación detallada.

2. Participación en la Lógica de Negocio y Documentación:
Fui activo en la definición y ejecución de la lógica de negocio, lo cual se reflejó en la construcción del backend. Además, asumí la responsabilidad de mantener una documentación completa y coherente para asegurar la comprensión del equipo.

3. Resolución de Desafíos y Fomento de la Mejora Continua:
A lo largo del ciclo de desarrollo, enfrenté desafíos de depuración, garantizando un rendimiento sin problemas de la aplicación. Esta experiencia fortaleció mis habilidades técnicas y mejoró mi capacidad para colaborar en equipo de manera efectiva.

Tecnologías Relevantes:

- Front-End:
En la interfaz de usuario se utilizó React, Bootstrap y Axios para una experiencia interactiva y amigable.
- Back-End:
Se construyó la lógica del servidor utilizando Node.js y Express.js, aprovechando MongoDB y Mongoose para gestionar la base de datos.
- Comunicación y Seguridad:
La autenticación y autorización fue mediante JWT y Bcrypt, utilizando Nodemailer para facilitar la comunicación con los usuarios.
- Control de Versiones y Colaboración:
Junto con Git y GitHub colaboramos sin problemas con el equipo. Además, el uso de Lucidchart nos benefició para visualizar y comunicar arquitecturas y flujos de datos de manera efectiva.
Funcionalidades A Destacar:

Gestión de Turnos:
Permite asignar, editar y eliminar turnos, aprovechando herramientas como React Date Picker y Date-fns para una experiencia de usuario intuitiva.

CRUD Completo:
Implementación de operaciones CRUD para los roles de administrador, operador y cliente, lo que facilitó la gestión de datos esenciales.

Gestión de Roles:
Posibilidad de que el rol administrador pueda cambiar los roles de los usuarios desde su respectivo perfil.

Recuperación de Contraseña:
Se implementó una función de olvido y recuperación de contraseña utilizando Nodemailer para una experiencia segura y conveniente.

Visualización de Turnos:
Se proporcionó a los usuarios la capacidad de ver los turnos asignados por día y cliente, mejorando la transparencia y el seguimiento.


En resumen, este proyecto me permitió no solo expandir mis habilidades técnicas en el desarrollo web, sino también demostrar mi capacidad para trabajar de manera efectiva en un equipo ágil, abordar desafíos complejos y brindar soluciones que impulsan la eficiencia empresarial y la satisfacción del cliente.