El sistema también cuenta con un método de pago y garantiza la seguridad de la información del usuario. También se crearán APIs (Interfaz de Programación de Aplicaciones) para permitir que el front end del sistema las consuma y, lo más importante, se garantizará la seguridad de la información en la plataforma.
Objetivo general
El backend te permite almacenar información sobre productos en venta o compra, usuarios, comentarios, chats, entre otros, en una base de datos relacional, en la tabla de productos puedes cambiar detalles, eliminar y agregar nuevos productos, si es necesario, de la misma manera Para una mejor visibilidad del producto en el e- la tienda necesita un pago mínimo, por lo que el foco de este proyecto es poder dar un servicio a los empresarios que venden o compran productos y ayudar a las necesidades de los ciudadanos, garantizar la seguridad. en la información y que los usuarios clientes no sean estafados, por lo que existe un administrador de usuarios que se encarga de mantener la plataforma y detectar las estafas.
Objetivos específicos
Alcance
El e-commerce brinda integridad, consistencia y seguridad de toda la información y datos proporcionados, lo que garantiza que la parte backend sea efectiva, dinámica y adecuada a los productos en venta o compra, la cual se desarrolla con el framework denominado Laravel. Gracias a la ayuda del framework React se garantiza un trabajo lípido en el frontend, además se realizan pruebas individuales o unitarias y de integración, con el objetivo de comprobar la efectividad del sistema de comercio electrónico web y todas sus funcionalidades.
Marco Teórico
REST es una arquitectura para el desarrollo web que debe contener el protocolo HTTP para soportar la seguridad de los datos que salen o entran al sistema web, también debe estar estructurado por reglas que debe cumplir el diseño de la API para poder ponerla en producción y allí No hay inconsistencia en el sistema, es importante saber que una API REST es lo que proporcionará seguridad para un sistema en la web [9]. PHP es un lenguaje de programación del lado del servidor ampliamente utilizado para el desarrollo de aplicaciones web que se puede incrustar en HTML, así como un lenguaje de código abierto.
Metodología de Desarrollo
En la metodología Scrum, que trata de dividir el proyecto en Sprints, los cuales son asignados a cada uno de los participantes para el desarrollo del proyecto, ganando así flexibilidad e inmediatez en el avance del proyecto [15]. La TABLA I muestra la distribución de roles para el desarrollo del proyecto, la cual consta de 3 tipos de roles asignados a cada uno de los integrantes.
Diseño de la arquitectura
Display: Como su nombre lo dice, es la capa donde se ubica el código del sistema para producir la visualización de las interfaces de usuario, además se despliegan datos dependiendo de los requerimientos que hace el usuario para poder llamar datos desde la BD. Controller: Es la capa donde se ubican las acciones que solicitará la aplicación, como mostrar un elemento específico, realizar una compra o venta entre otras funcionalidades, adaptando todas las funcionalidades a las necesidades de la aplicación, por lo que es un intermediario entre el modelo y la perspectiva [22].
Herramientas de desarrollo
Funciona en línea con un web sockets, sin necesidad de un servidor WebSockets propio, permite crear aplicaciones como chat en tiempo real, juegos multijugador, entrega de datos en tiempo real, notificaciones, entre otras. Es un host francés que puede almacenar una base de datos de un proyecto en la nube de forma gratuita, con buen rendimiento y excelente en seguridad de la información [24].
Librerías
Sprint 0. Configuración del ambiente de desarrollo
El componente de backend implementa métodos para que el usuario con el rol de administrador pueda administrar los comentarios recibidos desde los dispositivos domésticos. El componente backend implementa métodos para que el usuario con rol de administrador pueda ver y eliminar en detalle los dispositivos eléctricos registrados en el sistema.
Sprint 1. Diseño e implementación de métodos para el perfil cliente y
Implementar método para el registro a través de formularios
Para el proceso de inicio de sesión, se implementa un método que realiza la autenticación mediante la verificación del correo electrónico y la contraseña del usuario. Además, la biblioteca Laravel Sanctum se utiliza para generar tokens API que permiten la autenticación en el sistema. Por lo tanto, también se implementa un método de cierre de sesión, que permite al usuario finalizar la sesión actual, invalidando el token anterior.
En cuanto a los resultados, se logró implementar un método eficiente de registro de usuarios a través de un formulario y correo electrónico de confirmación.
Implementar método para visualizar y modificar el perfil
Es importante tener en cuenta que el proceso de autenticación es similar para todos los roles del sistema. Los usuarios registrados de esta forma podrán acceder al sistema de forma segura y eficiente, mejorando la experiencia del usuario. En este proceso, el backend valida los campos y actualiza automáticamente la información en la base de datos.
Actualizar el avatar es importante dentro de un sistema para distinguir uno de otro, este método se aplica a todos los roles.
Implementar método para recuperar contraseña
En relación a la actualización de la contraseña, previamente se ha validado que el usuario está autenticado a través de una ruta estática de tipo POST. Es importante mencionar que es necesario validar y confirmar la nueva contraseña antes de realizar la solicitud. Higo. 11 y ANEXO III se detalla más sobre el método de actualización de la contraseña y los resultados obtenidos en el ejercicio 3.
Implementar método para gestionar electrodomésticos en venta
El registro de un nuevo producto solo puede ser realizado por el rol de "Suscriptor", que consiste en un formulario para ingresar datos y enviarlos a la base de datos, que se muestra en la imagen. La función para crear un nuevo dispositivo está a cargo. verificando todos los campos mientras la imagen se almacena en la plataforma Cloudinary, que inmediatamente devuelve la URL y la envía a la tabla de Productos para su almacenamiento. Las validaciones son las mismas para la función de creación de un nuevo dispositivo y la función de actualización de un dispositivo.
El usuario autenticado tiene la acción de eliminar solo sus productos registrados en el sistema, pero el backend solo cambia el estado de visualización para los usuarios con un perfil de cliente, pero permanece visible para el administrador.
Implementar método para la búsqueda de electrodomésticos
Implementar método para comentarios y sugerencias de electrodomésticos
La primera función toma el parámetro ID del producto y devuelve todos los comentarios presentes en ese producto. Por otro lado, la segunda función también toma el parámetro ID del producto, pero también toma la ID específica del comentario y devuelve solo ese comentario, como se muestra en la Fig. Para generar y actualizar comentarios para un producto específico, las funciones crear y actualizar tienen las mismas validaciones de campo y, además de verificar que el usuario autenticado pertenece al comentario a editar, la función para generar un nuevo comentario se encuentra en la Fig.
El usuario autenticado es el único que puede borrar sus comentarios, en la Fig.
Implementar método para reportar electrodomésticos sospechosos
Sprint 3. Diseño e implementación de métodos suscripción y chat interno
El Sprint 3 es considerado el más importante, ya que los objetivos corresponden a las funciones de venta y generación de recursos en la plataforma, luego se presentan las funciones establecidas por el Sprint Backlog.
Implementar método para solicitar suscripción
Para hacer esto, la función debe verificar si la solicitud es del usuario y devolver información sobre todas las suscripciones registradas.
Implementar método para interactuar mediante un chat interno
Sprint 4. Diseño e implementación de métodos para el perfil administrador
Implementar métodos para gestionar clientes
El administrador tiene la oportunidad de visualizar la lista de todos los usuarios registrados en el sistema, ingresando una ruta GET que devuelve información sobre cada uno de los perfiles. Para consultar los detalles de un usuario en particular, se especifica como parámetro su ID y se accede a una ruta GET, como se muestra en la Fig. Además, el administrador tiene derecho a eliminar cualquier cliente o perfil con el rol 1, lo que significa eliminar todos sus datos almacenados en el sistema.
Todas las funciones relacionadas con la gestión de perfiles se detallan en el ANEXO III.
Implementar métodos para gestionar suscripciones
Además, el administrador tiene la opción de cancelar la suscripción en caso de problema o fraude y activar la suscripción si se soluciona el problema.
Implementar métodos para gestionar reportes de electrodomésticos
Implementar métodos para gestionar comentarios
Implementar métodos para gestionar categorías
Toda la información detallada sobre los métodos utilizados para gestionar la plataforma se puede encontrar en el ANEXO III.
Implementar métodos para gestionar electrodomésticos de perfil cliente
Sprint 5. Pruebas del backend
La TABLA VIII muestra los resultados de las pruebas individuales durante el registro de un nuevo usuario para verificar el correcto funcionamiento de la ruta. 36 muestra un script de la información necesaria para crear un nuevo usuario, mientras que el ANEXO II contiene todas las pruebas de estrés con las respuestas correspondientes. Pruebas de estrés realizadas con apache JMeter, donde los resultados obtenidos muestran un rendimiento significativo de la API REST, con un aumento de 2x por prueba.
Las pruebas de carga son importantes para garantizar la escalabilidad y el rendimiento de la API REST en condiciones de alta concurrencia de datos.
Sprint 6 Despliegue del backend
La aplicación del método de trabajo Scrum fue fundamental para el éxito del proyecto, el cual se dividió en Sprints, lo que permitió una planificación eficaz, una ejecución exitosa y un seguimiento constante del avance del proyecto. En el diseño de la base de datos se desarrolló de acuerdo con todos los requisitos definidos. Se probó la seguridad e integridad de la aplicación a través de pruebas unitarias, de carga y de rendimiento, asegurando que cumple con los estándares aplicables, garantizando la confidencialidad y privacidad de los datos del proyecto, lo que contribuye a su mayor confiabilidad.
Al momento de planificar el proyecto, se recomienda considerar la capacidad de expansión de la base de datos, ya que en el caso de un aumento en el número de usuarios y una mayor carga de información, es importante asegurarse de que tenga la función de procesar una gran cantidad. de datos.
Las siguientes tablas presentan todas las historias de usuarios para el proyecto del componente de soporte en función de todos los requisitos de los usuarios presentados en la sección anterior. Para verificar el correcto funcionamiento de las rutas en el sistema, se realizaron pruebas unitarias en las que se evaluó la respuesta de cada una de las URL según historias de usuario. 61 muestra los resultados obtenidos de las pruebas realizadas en diferentes métodos del sistema en relación con las historias de usuario.