My Reserve es un proyecto diseñado para modernizar las peluquerías, reemplazando los métodos tradicionales de gestión de las peluquerías por un nuevo sistema digitalizado, pero al mismo tiempo sencillo e intuitivo, para que cualquiera sea capaz de utilizarlo. Los usuarios podrán reservar citas fácilmente y las peluquerías podrán optimizar la administración de sus servicios y horarios.
El Objetivo es modernizar el sistema de gestión de reservas de citas en peluquerías mediante una plataforma web, mejorando la experiencia del usuario y promoviendo el crecimiento de la peluquería.
Trata las entidades de los datos y de como las propias entidades gestionan sus datos
La aplicación está hecha en un proyecto de .NET, en el cual separamos dos grandes grupos El BackEnd y el FrontEnd.
-
BackEnd: En cuanto al BackEnd, mostramos como está construida su base de datos.
### Tabla `Usuarios`Parameter Type Description usu_idintRequired. ID del usuario (IDENTITY) usu_nombrestringRequired. Nombre del usuario usu_correo_electronicostringRequired & Unique. Correo electrónico del usuario usu_contrasenhastringRequired. Contraseña del usuario Parameter Type Description gp_idintRequired. ID del grupo de peluquería (IDENTITY) gp_nombrestringRequired. Nombre del grupo de peluquería gp_correo_electronicostringRequired & Unique. Correo electrónico del grupo gp_contrasenhastringRequired. Contraseña del grupo Parameter Type Description pelu_idintRequired. ID de la peluquería (IDENTITY) pelu_nombrestringRequired. Nombre de la peluquería pelu_correo_electronicostringRequired & Unique. Correo electrónico de la peluquería pelu_contrasenhastringRequired. Contraseña de la peluquería pelu_paisstringRequired. País de la peluquería pelu_regionstringRequired. Región de la peluquería pelu_ciudadstringRequired. Ciudad de la peluquería pelu_direccionstringRequired. Dirección de la peluquería pelu_telefonostringRequired. Teléfono de la peluquería pelu_gp_id_fkintRequired. FK del grupo al que pertenece Parameter Type Description pel_idintRequired. ID del peluquero (IDENTITY) pel_nombrestringRequired. Nombre del peluquero pel_correo_electronicostringRequired & Unique. Correo electrónico del peluquero pel_contrasenhastringRequired. Contraseña del peluquero pel_descripcionstringDescripción del peluquero pel_experienciaintRequired. Años de experiencia del peluquero pel_instagramstringInstagram del peluquero (opcional) pel_pelu_id_fkintRequired. FK de la peluquería a la que pertenece pel_grupo_id_fkintFK del grupo de peluquería Parameter Type Description cat_idintRequired. ID de la categoría cat_nombrestringRequired. Nombre de la categoría Parameter Type Description ser_idintRequired. ID del servicio (IDENTITY) ser_nombrestringRequired. Nombre del servicio ser_preciointRequired. Precio del servicio ser_cat_id_fkintRequired. FK de la categoría ser_pelu_id_fkintFK de la peluquería (opcional) Parameter Type Description pelu_ser_pelu_id_fkintRequired. FK de la peluquería pelu_ser_ser_id_fkintRequired. FK del servicio Parameter Type Description hora_idintRequired. ID del horario hora_fechatimeRequired. Hora del horario Parameter Type Description pelu_hora_pelu_id_fkintRequired. FK de la peluquería pelu_hora_hora_id_fkintRequired. FK del horario hora_reservadointIndica si la hora está reservada Parameter Type Description cita_idintRequired. ID de la cita (IDENTITY) cita_usu_id_fkintRequired. FK del usuario cita_pel_id_fkintRequired. FK del peluquero cita_pelu_id_fkintRequired. FK de la peluquería cita_hora_id_fkintRequired. FK del horario cita_fechadateRequired. Fecha de la cita Parameter Type Description citas_ser_cita_id_fkintRequired. FK de la cita citas_ser_ser_idintRequired. FK del servicio Parameter Type Description pai_idintRequired. ID del país pai_nombrestringRequired. Nombre del país Parameter Type Description reg_idintRequired. ID de la región reg_pai_id_fkintRequired. FK del país reg_nombrestringRequired. Nombre de la región -
FrontEnd: En cuanto al FrontEnd, mostramos las plantillas, como de estructurada está la web y como tratamos los datos.
- BackEnd: Es la implementación de como conectamos nuestro aplicación web con la base de datos, relacionandolas así gestionando los datos.
- FrontEnd: Mostramos la información que recuperamos del BackEnd en una vista.
- BackEnd: Se implementan validaciones para controlar errores de tipo de dato incorrecto, redirigir a una página principal si el usuario no tiene permisos, y mostrar errores en peticiones no permitidas. Para eliminar entidades relacionadas se usan queries que garantizan la eliminación de las entidades. También he convertido datos a formato JSON para manejarlos adecuadamente en peticiones AJAX y devolverlos correctamente a las vistas.
- FrontEnd: Se utiliza JQuery en todos los formularios para mejorar el rendimiento y realizar validaciones previas, mostrando mensajes de error informativos. Las vistas son responsive, adaptándose a cualquier dispositivo. Se usa la librería Flatpickr para validar fechas, impidiendo la selección de domingos o fechas anteriores al día actual. Además, al reservar una cita, si el usuario ya tiene una cita en la fecha seleccionada, se muestra un aviso y no se permite añadir otra cita.
Client: HTML, CSS3, JavaScript, JQuery, Bootstrap5
Server: .NET, C#
Cualquier pregunta [email protected].
