diff --git a/DOCKER.md b/DOCKER.md index 7595e1c..ba55791 100644 --- a/DOCKER.md +++ b/DOCKER.md @@ -1,6 +1,6 @@ -# 🐳 Guía de Docker para Wallamonitor +# 🐳 Guía de Docker para Wallabicher -Esta guía explica cómo ejecutar Wallamonitor usando Docker Compose. +Esta guía explica cómo ejecutar Wallabicher usando Docker Compose. ## 📋 Requisitos Previos @@ -32,7 +32,7 @@ Esto iniciará: - **Redis** (puerto 6379) - Cache de artículos - **Backend** (puerto 3001) - API Node.js - **Frontend** (puerto 3000) - Interfaz web Vue -- **Wallamonitor Python** - Servicio principal de monitoreo +- **Wallabicher Python** - Servicio principal de monitoreo ### 3. Acceder a la interfaz @@ -56,7 +56,7 @@ Abre tu navegador en: **http://localhost:3000** - **URL**: http://localhost:3000 - **Funciones**: Interfaz web moderna -### Wallamonitor (Python) +### Wallabicher (Python) - **Sin puertos expuestos** (solo comunicación interna) - **Funciones**: Monitoreo de marketplaces y envío de notificaciones @@ -68,7 +68,7 @@ Abre tu navegador en: **http://localhost:3000** docker-compose logs -f # Servicio específico -docker-compose logs -f wallamonitor +docker-compose logs -f wallabicher docker-compose logs -f backend docker-compose logs -f frontend ``` @@ -92,7 +92,7 @@ docker-compose up -d ### Reiniciar un servicio específico ```bash docker-compose restart backend -docker-compose restart wallamonitor +docker-compose restart wallabicher ``` ### Ver estado de servicios diff --git a/Dockerfile b/Dockerfile index a602dc8..95ee44f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,6 +30,6 @@ COPY . . # Healthcheck simple (verifica que el proceso esté ejecutándose) HEALTHCHECK --interval=60s --timeout=10s --start-period=30s --retries=3 \ - CMD pgrep -f "python.*wallamonitor.py" || exit 1 + CMD pgrep -f "python.*wallabicher.py" || exit 1 -CMD ["python", "wallamonitor.py"] +CMD ["python", "wallabicher.py"] diff --git a/QUICKSTART.md b/QUICKSTART.md index b06173b..a27b322 100644 --- a/QUICKSTART.md +++ b/QUICKSTART.md @@ -1,6 +1,6 @@ -# Guía Rápida de Inicio - WallaMonitor 🚀 +# Guía Rápida de Inicio - Wallabicher 🚀 -Esta guía te ayudará a configurar y ejecutar WallaMonitor en menos de 5 minutos. +Esta guía te ayudará a configurar y ejecutar Wallabicher en menos de 5 minutos. ## Requisitos Previos @@ -79,12 +79,12 @@ El archivo `workers.json` contiene ejemplos de búsquedas. Personalízalo según - `latitude`/`longitude`: Para búsquedas locales (opcional) - `max_distance`: Distancia máxima en km (opcional) -## Ejecutar WallaMonitor +## Ejecutar Wallabicher Una vez configurado, simplemente ejecuta: ```bash -python wallamonitor.py +python wallabicher.py ``` El monitor: diff --git a/README.md b/README.md index 2ee8bec..0f68070 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ ### Estructura del Proyecto ``` - wallamonitor/ + wallabicher/ ├── platforms/ # Implementaciones de plataformas │ ├── base_platform.py # Clase abstracta base │ ├── platform_factory.py # Factory para crear plataformas @@ -214,7 +214,7 @@ 2. Ejecuta Wallabicher: ```bash - python3 wallamonitor.py + python3 wallabicher.py ``` El bot revisará Wallapop periódicamente (configurable, por defecto cada 30s) y enviará notificaciones a tu canal o chat de Telegram siempre que aparezcan artículos nuevos que encajen con tus filtros. diff --git a/docker-compose.README.md b/docker-compose.README.md index c3a6040..7b22d75 100644 --- a/docker-compose.README.md +++ b/docker-compose.README.md @@ -47,7 +47,7 @@ Abre: **http://localhost:3000** | **Frontend** | 3000 | Interfaz web Vue | | **Backend** | 3001 | API Node.js | | **Redis** | 6379 | Cache de artículos | -| **Wallamonitor** | - | Servicio Python (interno) | +| **Wallabicher** | - | Servicio Python (interno) | ## 🔧 Comandos Básicos @@ -56,7 +56,7 @@ Abre: **http://localhost:3000** docker-compose logs -f # Ver logs de un servicio específico -docker-compose logs -f wallamonitor +docker-compose logs -f wallabicher # Detener docker-compose down diff --git a/docker-compose.yml b/docker-compose.yml index 3faa324..3fa7974 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ services: # Redis para cache de artículos redis: image: redis:7-alpine - container_name: wallamonitor-redis + container_name: wallabicher-redis ports: - "6379:6379" volumes: @@ -14,7 +14,7 @@ services: timeout: 3s retries: 3 networks: - - wallamonitor-network + - wallabicher-network restart: unless-stopped # Backend Node.js API @@ -22,7 +22,7 @@ services: build: context: ./web/backend dockerfile: Dockerfile - container_name: wallamonitor-backend + container_name: wallabicher-backend environment: - NODE_ENV=production - PORT=3001 @@ -39,7 +39,7 @@ services: redis: condition: service_healthy networks: - - wallamonitor-network + - wallabicher-network restart: unless-stopped healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3001/api/stats"] @@ -52,24 +52,24 @@ services: build: context: ./web/frontend dockerfile: Dockerfile - container_name: wallamonitor-frontend + container_name: wallabicher-frontend depends_on: - backend networks: - - wallamonitor-network + - wallabicher-network restart: unless-stopped - # Servicio Python principal (Wallamonitor) + # Servicio Python principal (Wallabicher) # NOTA: Para usar Redis, asegúrate de que config.yaml tenga: # cache: # type: "redis" # redis: # host: "redis" # Nombre del servicio en Docker - wallamonitor: + wallabicher: build: context: . dockerfile: Dockerfile - container_name: wallamonitor-python + container_name: wallabicher-python environment: - PYTHONUNBUFFERED=1 volumes: @@ -84,7 +84,7 @@ services: backend: condition: service_healthy networks: - - wallamonitor-network + - wallabicher-network restart: unless-stopped # El servicio Python no necesita exponer puertos, solo se comunica con Redis y Telegram @@ -93,6 +93,6 @@ volumes: driver: local networks: - wallamonitor-network: + wallabicher-network: driver: bridge diff --git a/package-lock.json b/package-lock.json index d0e7860..eba1a03 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "wallamonitor", + "name": "wallabicher", "lockfileVersion": 3, "requires": true, "packages": {} diff --git a/setup_config.py b/setup_config.py index 5c6895f..ea010c8 100755 --- a/setup_config.py +++ b/setup_config.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 """ -Script de inicialización de configuración para WallaMonitor. +Script de inicialización de configuración para Wallabicher. Este script copia los archivos de configuración de muestra (.sample) a sus ubicaciones finales si estos no existen. @@ -33,7 +33,7 @@ def setup_configuration(): ] print("="*60) - print(" WallaMonitor - Configuración Inicial") + print(" Wallabicher - Configuración Inicial") print("="*60) print() @@ -74,7 +74,7 @@ def setup_configuration(): print(" - Ajusta las búsquedas según tus necesidades") print(" - Configura los thread_id para tus hilos de Telegram") print() - print(" Luego ejecuta: python wallamonitor.py") + print(" Luego ejecuta: python wallabicher.py") elif files_exist: print("\n✓ Todos los archivos de configuración ya existen.") print(" El sistema está listo para usar.") diff --git a/web/QUICKSTART.md b/web/QUICKSTART.md index 3eb0860..23d0d0e 100644 --- a/web/QUICKSTART.md +++ b/web/QUICKSTART.md @@ -61,7 +61,7 @@ La interfaz web lee automáticamente: ## 🔧 Requisitos - Node.js 18+ -- El sistema Python de Wallamonitor debe estar ejecutándose +- El sistema Python de Wallabicher debe estar ejecutándose - Redis (opcional, pero recomendado) ## 📝 Notas diff --git a/web/README.md b/web/README.md index ca41367..ef0abf3 100644 --- a/web/README.md +++ b/web/README.md @@ -1,6 +1,6 @@ -# 🎨 Wallamonitor Web Interface +# 🎨 Wallabicher Web Interface -Interfaz web moderna para visualizar y gestionar tu sistema Wallamonitor. Construida con **Node.js**, **Express**, **Vue 3** y **Tailwind CSS**. +Interfaz web moderna para visualizar y gestionar tu sistema Wallabicher. Construida con **Node.js**, **Express**, **Vue 3** y **Tailwind CSS**. ## 🚀 Características @@ -15,7 +15,7 @@ Interfaz web moderna para visualizar y gestionar tu sistema Wallamonitor. Constr ## 📋 Requisitos Previos - Node.js 18+ y npm -- El sistema Python de Wallamonitor ejecutándose +- El sistema Python de Wallabicher ejecutándose - Redis (opcional, pero recomendado para mejor rendimiento) ## 🔧 Instalación diff --git a/web/backend/package-lock.json b/web/backend/package-lock.json index 132782b..6e5d8b9 100644 --- a/web/backend/package-lock.json +++ b/web/backend/package-lock.json @@ -1,11 +1,11 @@ { - "name": "wallamonitor-backend", + "name": "wallabicher-backend", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "wallamonitor-backend", + "name": "wallabicher-backend", "version": "1.0.0", "license": "MIT", "dependencies": { diff --git a/web/backend/package.json b/web/backend/package.json index 98e7134..9199db1 100644 --- a/web/backend/package.json +++ b/web/backend/package.json @@ -1,14 +1,14 @@ { - "name": "wallamonitor-backend", + "name": "wallabicher-backend", "version": "1.0.0", - "description": "Backend API para Wallamonitor Dashboard", + "description": "Backend API para Wallabicher Dashboard", "main": "server.js", "type": "module", "scripts": { "start": "node server.js", "dev": "node --watch server.js" }, - "keywords": ["wallamonitor", "api", "express"], + "keywords": ["wallabicher", "api", "express"], "author": "", "license": "MIT", "dependencies": { diff --git a/web/frontend/index.html b/web/frontend/index.html index 024e3f4..b158154 100644 --- a/web/frontend/index.html +++ b/web/frontend/index.html @@ -4,7 +4,7 @@ - Wallamonitor Dashboard + Wallabicher Dashboard
diff --git a/web/frontend/package-lock.json b/web/frontend/package-lock.json index 21d57f6..42892b1 100644 --- a/web/frontend/package-lock.json +++ b/web/frontend/package-lock.json @@ -1,11 +1,11 @@ { - "name": "wallamonitor-frontend", + "name": "wallabicher-frontend", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "wallamonitor-frontend", + "name": "wallabicher-frontend", "version": "1.0.0", "dependencies": { "@heroicons/vue": "^2.1.1", diff --git a/web/frontend/package.json b/web/frontend/package.json index 7168efb..17eca20 100644 --- a/web/frontend/package.json +++ b/web/frontend/package.json @@ -1,5 +1,5 @@ { - "name": "wallamonitor-frontend", + "name": "wallabicher-frontend", "version": "1.0.0", "type": "module", "scripts": { diff --git a/web/frontend/src/App.vue b/web/frontend/src/App.vue index 4936552..60f8510 100644 --- a/web/frontend/src/App.vue +++ b/web/frontend/src/App.vue @@ -5,14 +5,14 @@
-

🛎️ Wallamonitor

+

🛎️ Wallabicher

- -
-
+
+ +
+
+ + +
+
+ + + {{ item.name }} + +
+
+
+
+ + {{ wsConnected ? 'Conectado' : 'Desconectado' }} +
-
+
@@ -49,6 +86,8 @@ import { HeartIcon, Cog6ToothIcon, DocumentMagnifyingGlassIcon, + Bars3Icon, + XMarkIcon, } from '@heroicons/vue/24/outline'; const navItems = [ @@ -60,6 +99,7 @@ const navItems = [ ]; const wsConnected = ref(false); +const mobileMenuOpen = ref(false); let ws = null; onMounted(() => { diff --git a/web/frontend/src/style.css b/web/frontend/src/style.css index d6fe603..3d32b71 100644 --- a/web/frontend/src/style.css +++ b/web/frontend/src/style.css @@ -32,5 +32,13 @@ .input { @apply w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent; } + + /* Line clamp utility */ + .line-clamp-2 { + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + } } diff --git a/web/frontend/src/views/Articles.vue b/web/frontend/src/views/Articles.vue index 5d0e195..1cbb76f 100644 --- a/web/frontend/src/views/Articles.vue +++ b/web/frontend/src/views/Articles.vue @@ -1,22 +1,22 @@