Commit Graph
47 Commits
Author SHA1 Message Date
Michael f27a75d9d6 feat: Implement initial application structure with routing, authentication flow, and responsive layout. 2025-12-01 11:32:12 +01:00
Michael 93840804a4 feat: implement product search page with site selection, real-time results, and monitoring integration 2025-12-01 01:01:53 +01:00
Michael 39893e8c1e feat: Add improved search service with persistent browser connection for e-commerce scraping. 2025-12-01 01:00:25 +01:00
Michael e9f6c6e0be feat: Add BrowserlessService for persistent, auto-reconnecting browser operations with enhanced price and content extraction. 2025-11-30 14:46:21 +01:00
LogiFlow 1893b5ca73 Merge pull request #164 from R0m1k3/antigravity
feat: Implement Catalogues page for displaying, filtering, searching,…
2025-11-30 11:32:58 +01:00
Michael 606fbf1523 feat: Implement Catalogues page for displaying, filtering, searching, and managing promotional catalogues. 2025-11-30 11:32:28 +01:00
LogiFlow 5d70aceb71 Merge pull request #162 from R0m1k3/antigravity
feat: Add Cataloguemate.fr scraper to replace Tiendeo and introduce n…
2025-11-30 11:17:50 +01:00
Michael 99650a992b feat: Add Cataloguemate.fr scraper to replace Tiendeo and introduce new Catalogues frontend page. 2025-11-30 11:17:28 +01:00
LogiFlow 15955edfa0 Merge pull request #159 from R0m1k3/antigravity
Antigravity
2025-11-30 10:50:10 +01:00
Michael 03d79e45fb feat: Introduce Cataloguemate.fr scraper service and associated catalogue administration UI. 2025-11-30 10:49:47 +01:00
Claude 684535ee85 feat: Add Amazon France search page with Crawl4AI anti-detection
- Created Amazon scraper service with advanced anti-bot techniques:
  * User-Agent rotation from realistic pool
  * Complete browser headers (Accept, Accept-Language, etc.)
  * Proxy rotation (10 residential proxies)
  * Random delays (1.5-4s) to mimic human behavior
  * Crawl4AI browser fingerprint randomization
  * NetworkIdle waiting for complete page load
  * Cookie acceptance automation

- Added Amazon search API endpoint with SSE streaming
  * Real-time progress updates
  * Proper error handling
  * Health check endpoint

- Created dedicated Amazon France frontend page:
  * Modern UI with product cards
  * Rating display (stars + review count)
  * Price formatting with discount badges
  * Prime badge support
  * Stock status indicators
  * Sponsored product labels
  * Direct Amazon links

- Removed store list (ENSEIGNES_DATA cleared)
  * Migration from discount stores to Amazon France
  * Catalog system kept for future use

- Updated navigation:
  * Added "Amazon France" menu item with ShoppingBag icon
  * Positioned between Search and Compare
  * Available on desktop and mobile

Technical stack:
- Backend: Crawl4AI + BeautifulSoup for scraping
- Frontend: React + Shadcn UI components
- API: FastAPI with SSE streaming
2025-11-30 00:36:39 +00:00
Michael 6ed923c1ee feat: add CatalogueAdmin component to manage and monitor catalogue scraping operations. 2025-11-29 23:17:28 +01:00
Michael 237e4a2adf feat: add Vite configuration with React plugin and path aliases. 2025-11-29 23:02:52 +01:00
Michael 5be93653ef feat: add Vite configuration for React project, including path aliases and build output directory. 2025-11-29 22:59:40 +01:00
Michael efb5211621 feat: add CatalogueAdmin component to manage catalogue scraping, display statistics, and view logs. 2025-11-29 22:55:09 +01:00
Michael 5c0d5cebf7 feat: Add Catalogues page for displaying, searching, and filtering promotional catalogues by enseigne. 2025-11-29 22:50:44 +01:00
Michael 58e6be3f0d feat: Add initial application structure, core data models, and a new catalog module with Bonial scraping capabilities. 2025-11-29 19:26:56 +01:00
Michael a0a48ced19 feat: add script to verify search service functionality across all configured sites, including Browserless connection and detailed reporting. 2025-11-29 18:15:12 +01:00
Claude 898e19cf0a fix: Remove duplicate downloadDebugFile function causing build failure 2025-11-24 08:12:05 +00:00
Claude e62117f9b9 feat: Add per-site debug toggle for HTML dump control
- Add debug_enabled field to SearchSite model
- Update schemas and API routes to allow debug toggle
- Add debug toggle button on site cards in Admin UI
- Only dump HTML when debug is enabled for the site (except for critical errors like Amazon blocking)
- Add API endpoints to list/delete debug files per site domain
- Add button to clear debug files for individual sites
2025-11-24 08:01:39 +00:00
Claude ffeeafa318 fix: Add missing debug tab rendering in Admin page
The debug tab was defined in the tabs array and had all the state and
functions set up, but was missing the actual JSX rendering block.
This caused the debug dumps to not be displayed in the admin interface.
2025-11-24 07:32:00 +00:00
Michael fac4968485 chore: Install frontend dependencies. 2025-11-24 07:25:50 +01:00
Michael e45290350c feat: implement direct e-commerce search service with Playwright/Browserless and add supporting admin page and debug routes. 2025-11-24 07:18:12 +01:00
Michael a9cb4e4ac5 feat: Implement dashboard page for item management and add/edit item modal. 2025-11-24 00:09:59 +01:00
Michael a26bd343ec feat: add comprehensive admin page for user, system settings, notification, and job management. 2025-11-23 23:24:35 +01:00
Michael 9637d77cef feat: Initialize core application structure with item tracking, price history, and notification channel management. 2025-11-23 23:17:52 +01:00
LogiFlow db06518d27 Merge branch 'main' into antigravity 2025-11-23 22:52:50 +01:00
Michael b5e3b44e5a feat: Implement scheduled item price tracking with AI analysis, core backend services, and a dashboard item management modal. 2025-11-23 22:48:01 +01:00
Michael c9a5f91dd2 feat: Introduce PriceHistoryModal component to display product price history, chart, and statistics. 2025-11-23 22:30:51 +01:00
Michael 308fcfb5e5 feat: add ItemCard component to display item details, prices, stock status, and actions with i18n support. 2025-11-23 21:40:17 +01:00
Michael f79f7d818c test: add TEST 2025 prefix to verify deployment 2025-11-23 21:31:34 +01:00
Michael 78b20e1f5c fix: add missing provider fields to newProfile initial state in Settings.jsx 2025-11-23 18:53:27 +01:00
Michael 0ccc2fd9fc feat: add login page with authentication functionality and favicons 2025-11-23 17:30:57 +01:00
Michael 8962853de8 feat: Introduce a comprehensive settings page for managing notification profiles, AI configuration, scraper behavior, and job schedules. 2025-11-23 17:13:35 +01:00
Michael cb9cdfcca0 feat: Implement search functionality with new frontend page, backend router, service, and database migration. 2025-11-23 14:54:22 +01:00
Michael fb447677b2 feat: Add AI service, database migration, French locale, and Marquee UI component. 2025-11-23 14:45:15 +01:00
Michael 8d124bf0f8 feat: Add initial database migration and UI label component, alongside frontend dependency installation. 2025-11-23 14:37:35 +01:00
Claude 1dcb2849e2 fix: Rename use-auth.js to use-auth.jsx for JSX support 2025-11-23 09:24:05 +00:00
Claude 1dd6d4dae1 feat: Add authentication system and admin panel
- Add User model with authentication
- Create JWT-based auth service
- Add login page with admin/admin default credentials
- Create admin panel with user management, settings, and site configuration
- Move settings to admin section (admin only)
- Change search page from multi-site checkboxes to single site selector
- Add logout functionality to layout
- Protect routes with authentication
2025-11-23 09:15:56 +00:00
Claude e1a9bd2657 feat: Hardcode French e-commerce websites configuration
- Remove ability to add/edit/delete search sites from settings UI
- Configure 16 French e-commerce sites with search URLs:
  - Discount: Gifi, Stokomani, B&M, Centrakor, L'Incroyable, Action, La Foir'Fouille
  - Grandes Surfaces: E.Leclerc, Auchan, Carrefour
  - E-commerce: Amazon France, Cdiscount
  - Électronique: Darty, Boulanger, Fnac
- Add automatic database seeding on application startup
- Add /api/search-sites/seed and /api/search-sites/reset endpoints
- Add cookie consent banner handling for sites that require it
- Simplify Settings page to only show site list with toggle for active state
2025-11-23 07:40:12 +00:00
Claude e9b7f17900 fix: SearXNG printf command + edit site modal
SearXNG:
- Use proper command list format instead of shell string
- Use printf with \n for proper newlines in limiter.toml
- Use exec to properly start the entrypoint

Edit Site Modal:
- Add Dialog component import
- Add siteModalOpen and editSiteData state
- Create proper modal with form for editing sites
- Modal opens when clicking edit button
- All site fields editable in modal
2025-11-22 13:45:34 +00:00
Claude 41ccfb6610 fix: SearXNG startup + always visible edit buttons
SearXNG:
- Use command override to rm -rf limiter.toml before recreating it
- This ensures any directory is removed before creating the file
- Mount only settings.yml, create limiter.toml dynamically

UI:
- Remove opacity-0 from site edit/delete buttons
- Buttons are now always visible (not just on hover)
- Added title attributes for accessibility
2025-11-22 13:38:37 +00:00
Claude 933cb2e66f feat: Improve search config + rename Dashboard + fix SearXNG
SearXNG:
- Fix tini not found error by calling entrypoint.sh directly
- Keep limiter.toml creation at container startup

UI Changes:
- Rename "Tableau de bord" to "Suivis produits" in navigation
- Move CSS selector configuration from item modal to Settings page
- Add price_selector field to search sites configuration
- Display CSS selector badge on site cards

Backend:
- Add price_selector column to SearchSite model and schemas
- Update init.sql with search_sites table and migration for existing DBs
2025-11-22 13:24:28 +00:00
Claude e8ccd69bff fix: SearXNG startup + update README logo and favicon
- Fix SearXNG limiter.toml directory issue by creating file at container
  startup via entrypoint command (rm -rf then recreate)
- Update README to use logo.svg instead of logo.png
- Redesign favicon.svg to match main logo style:
  - Same gold-to-green gradient background
  - Line gradient from white to green
  - Glow effect on chart line
  - Decorative dots at data points
  - Green arrow indicator
2025-11-22 13:15:31 +00:00
Claude 1116c3a648 feat: Add multi-site product search system with SearXNG integration
This commit adds a comprehensive product search feature that allows users
to search for products across multiple configured e-commerce sites.

Backend changes:
- Add SearXNG service to docker-compose for meta-search capability
- Add SearchSite model and Alembic migration with default sites
- Create searxng_service.py for search queries across sites
- Create light_scraper_service.py for fast HTTP-based extraction
- Create search_service.py orchestrator combining SearXNG + HTTP + Browserless
- Add API endpoints for search (/api/search) with SSE streaming
- Add CRUD endpoints for search sites (/api/search-sites)

Frontend changes:
- Add new /search page with real-time results display
- Create SearchResultCard component for product display
- Add Progress, Checkbox, and Badge UI components
- Update Settings page with search sites management section
- Add navigation link to search page
- Create new modern SVG logo with price-flow gradient design
- Update favicon to SVG format

The search system uses a hybrid approach:
1. SearXNG finds product URLs across configured sites
2. Light HTTP scraper attempts fast extraction
3. Falls back to Browserless for JavaScript-heavy sites
4. Results stream progressively via SSE
2025-11-22 11:03:48 +00:00
Claude d6c39252f2 feat: Rebranding PriceFlow + OpenRouter + i18n FR + Docker
Modifications majeures:

1. Rebranding: Pricecious → PriceFlow
   - Mise à jour du titre, logo et noms de projet

2. Intégration OpenRouter
   - Ajout comme provider IA avec filtres (chat, vision, code, reasoning, free)
   - Récupération dynamique des modèles et coûts
   - Service et router dédiés (/api/openrouter/models)

3. Internationalisation (i18n)
   - Installation i18next + react-i18next
   - Application entièrement traduite en français
   - Fichier de traduction: fr.json

4. Configuration Docker
   - docker-compose.yml avec réseau nginx_default (external)
   - PostgreSQL sur port 5488:5432
   - Browserless sur port 3012:3000
   - init.sql pour initialisation de la base de données
   - .env.example avec variables documentées

5. Favicon
   - Documentation ajoutée dans index.html pour faciliter le remplacement
2025-11-22 09:22:39 +00:00
LogiFlow afed10abc5 Add files via upload 2025-11-22 10:01:25 +01:00