Este es un proyecto personal que consiste en un backend con Express y MongoDB, y un frontend con Svelte. La aplicación es un rastreador web (crawler) que permite proporcionar una URL y un selector CSS. El programa revisa la URL y detecta si hay cambios en el contenido especificado por el selector.
Los usuarios pueden ingresar una URL y un selector CSS para monitorear cambios en elementos específicos de la página web.
El sistema revisa periódicamente la URL proporcionada y compara el contenido del selector CSS. Permitiendo a cada usuario gestionar sus propias URLs y selectores.
Incluye Registro, Login, Gestion del Perfil
Los usuarios reciben notificaciones por correo electrónico cuando se detectan cambios en el contenido monitoreado.
Debes proporcionar un archivo .env
con las siguientes variables:
MONGO_URI
: URI de conexión a tu base de datos MongoDB.SECRET
: Secreto utilizado para la creación de tokens JWT.SALT_ROUNDS
: Número de rondas para el hashing de contraseñas.PORT
: Puerto en el que correrá el servidor.MAIL_USERNAME
: Nombre de usuario para el servicio de correo (Gmail).MAIL_CLIENT_ID
: ID del cliente para el servicio de correo (Gmail).MAIL_CLIENT_SECRET
: Secreto del cliente para el servicio de correo (Gmail).MAIL_REFRESH_TOKEN
: Token de refresco para el servicio de correo (Gmail).
Para iniciar el servidor backend, usa el siguiente comando:
npm run start
Para iniciar el entorno de desarrollo del frontend, usa el siguiente comando:
npm run start
Para ejecutar pruebas e2e (end-to-end) con Cypress, sigue estos pasos:
-
Entra en el directorio del frontend:
cd path/to/frontend
-
Inicia las pruebas con el siguiente comando, que ejecutará ambos servidores y Cypress:
npm run test
Para ejecutar las pruebas unitarias en el backend con Vitest, usa el siguiente comando:
npm run vitest