A Lambda.hu egy AI-alapú építőanyag keresési és ajánlási rendszer, amely modern technológiákat használ a felhasználói élmény optimalizálásához.
- FastAPI - Modern, gyors Python web framework
- PostgreSQL - Relációs adatbázis termék- és kategóriaadatok tárolására
- Redis - Cache layer a gyors adateléréshez
- SQLAlchemy - ORM az adatbázis műveletekhez
- Next.js 14.2.18 - React-alapú frontend framework
- TypeScript - Típusbiztos JavaScript
- Tailwind CSS - Utility-first CSS framework
- React 18 - UI komponens library
- Docker & Docker Compose - Konténerizáció és orchestration
- Node.js 18 Alpine - Könnyű production environment
- uv - Python csomagkezelő
Lambda/
├── src/ # Forráskód (backend, frontend)
│ ├── backend/ # FastAPI alkalmazás
│ └── frontend/ # Next.js alkalmazás
├── scripts/ # Segédscriptek (pl. elemzők, tesztelők)
│ ├── archive/ # Régi, már nem használt scriptek
│ └── ...
├── docs/ # Projekt dokumentáció
│ ├── README.md # Ez a fájl
│ └── ...
├── tools/ # Külső, fejlesztést segítő eszközök
├── .cursorrules/ # Cursor AI szabályok
├── .env.example # Környezeti változók sablonja
├── docker-compose.yml # Docker szolgáltatások definíciója
├── pyproject.toml # Python projekt és függőségek (uv)
└── uv.lock # Rögzített függőségi fa
- Docker & Docker Compose telepítve
- Git telepítve
- Projekt klónozása
git clone <repository-url>
cd Lambda
-
.env
fájl létrehozása A projekt gyökerében hozz létre egy.env
fájlt a.env.example
sablon alapján, és töltsd ki a szükséges értékekkel (API kulcsok, jelszavak). -
Docker szolgáltatások indítása
docker-compose up --build
- Szolgáltatások elérése
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API dokumentáció: http://localhost:8000/docs
backend:
build: ./src/backend
ports: ["8000:8000"]
depends_on: [db, cache]
frontend:
build: ./src/frontend
ports: ["3000:3000"]
db:
image: postgres:15
environment:
POSTGRES_DB: lambda_db
POSTGRES_USER: lambda_user
POSTGRES_PASSWORD: your_db_password_here # .env fájlban beállítandó
cache:
image: redis:latest
GET /categories
- Összes kategória listázásaPOST /categories
- Új kategória létrehozása
GET /manufacturers
- Összes gyártó listázásaPOST /manufacturers
- Új gyártó létrehozása
GET /products
- Termékek listázásaPOST /products
- Új termék hozzáadása
- Hierarchikus kategória struktúra
- Self-referencing foreign key a parent_id-val
- Név és leírás mezők
- Gyártó információk
- Kapcsolat termékekkel (one-to-many)
- Elérhetőségi adatok
- Termék részletek
- Foreign key kapcsolatok kategóriával és gyártóval
- JSONB technical_specs a rugalmas specifikációkhoz
Frontend Docker Issues:
- Probléma: "next: not found" hiba Next.js 15-tel
- Megoldás: Visszatérés Next.js 14.2.18-ra, npx használata
- Tanulság: Verzió kompatibilitás kritikus fontosságú
Függőség Konfliktusok:
- Probléma: lucide-react kompatibilitási problémák
- Megoldás: Emoji ikonok használata egyszerű megoldásként
- Tanulság: Külső függőségek minimalizálása ajánlott
- Docker First: Minden szolgáltatás konténerben fut
- API First: RESTful API design FastAPI-val
- Type Safety: TypeScript használata a frontenden
- Modern CSS: Tailwind utility-first megközelítés
- Documentation: Minden változtatás dokumentálása
- ✅ Rockwool Scraping System - 57 PDF dokumentum sikeresen letöltve
- 45 termékadatlap + 12 árlista/brosúra
- Smart duplicate detection és zero data loss
- ✅ Database Integration - 46 ROCKWOOL termék PostgreSQL-ben
- Valódi gyártó (ROCKWOOL) és kategóriák
- Live API elérhetőség:
http://localhost:8000/products
- Teljes CRUD funkciók FastAPI-val
- ✅ BrightData MCP Integration - 48 AI scraping tool telepítve
- RAG Pipeline Foundation - 46 termék vektorizálása Chroma adatbázisban
- AI chatbot integráció a meglévő termékadatok felhasználásával
- Client-Specific Architecture - moduláris scraper framework több gyártóra
- BrightData MCP Production Testing - teljes AI-vezérelt scraping verifikáció
- Factory Pattern Implementation - újrafelhasználható scraper keretrendszer
- Természetes nyelvű termékkeresés RAG pipeline-nal
# Logok megtekintése
docker-compose logs [service-name]
# Container újraépítése
docker-compose build --no-cache [service-name]
# Teljes újraindítás
docker-compose down && docker-compose up --build
- Next.js verzió ellenőrzése
- Node_modules tisztítása
- Függőség konfliktusok vizsgálata
A Lambda demo most már tartalmazza a BrightData MCP (Model Context Protocol) integrációt, amely fejlett AI-vezérelt web scraping képességeket biztosít:
- 🤖 AI-vezérelt scraping Claude Sonnet 4-gyel
- 🛠️ 18 BrightData tool (HTML/Markdown scraping, browser automation, stb.)
- 🔒 Captcha megoldás automatikusan
- 🛡️ Fejlett anti-detection funkciók
- 🔄 Multi-strategy koordináció fallback logikával
- 📊 Performance monitoring és metrics
- API_ONLY - Hagyományos Rockwool API (gyors, megbízható)
- MCP_ONLY - Csak BrightData AI scraping (fejlett, gazdag adatok)
- API_FALLBACK_MCP - API először, MCP backup (ajánlott)
- MCP_FALLBACK_API - MCP először, API backup
- PARALLEL - Mindkettő párhuzamosan (leggyorsabb)
-
API kulcsok beszerzése:
- BrightData fiók (ingyenes kreditek)
- Anthropic API kulcs
-
Környezeti változók (.env):
# Hozd létre a .env fájlt az .env.example alapján! BRIGHTDATA_API_TOKEN=your-brightdata-token ANTHROPIC_API_KEY=your-anthropic-key # ...
-
Dependencies telepítése: A függőségeket a
uv
automatikusan telepíti apyproject.toml
alapján a Docker image építésekor. Manuális telepítésre nincs szükség. -
Tesztelés:
docker-compose exec backend python -c "from src.backend.app.agents import BrightDataMCPAgent; print('✅ MCP Ready!')"
from src.backend.app.agents import BrightDataMCPAgent, ScrapingCoordinator
# AI scraping
agent = BrightDataMCPAgent()
products = await agent.scrape_rockwool_with_ai(["https://www.rockwool.hu"])
# Koordinált scraping
coordinator = ScrapingCoordinator(strategy="api_fallback_mcp")
results = await coordinator.scrape_products(max_products=10)
Verzió: 1.0.0
Utolsó frissítés: 2025-01-25
Fejlesztő: Lambda.hu AI Team