발행된 사이트에 업체별 SEO/AEO 키워드를 제공하는 서비스. - PostgreSQL 16 + pgvector/ltree/pg_trgm 단일 스토어 (정확·의미·계층 조회를 한 엔진에서 처리) - 키워드는 전역 사전 + merchant_keyword 연결 테이블 구조 - 4단계 계단식 중복제거: 금칙어 → normalized 완전일치 → pg_trgm → 코사인 유사도, 걸린 표기는 aliases[] 로 흡수 - BullMQ 생성 큐 (발행 즉시 / 일 1회 크론 / 성과 기반) - OpenAI Structured Outputs + mock provider (API 키 없이 로컬 전 구간 동작) - 서빙 API: /v1/sites/:id/seo, /aeo, /performance, /keywords/search - docs/architecture.html 설계 도식 JSON-LD 조립과 o2o-site-AEO 연동은 후속 작업. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
42 lines
1.2 KiB
JSON
42 lines
1.2 KiB
JSON
{
|
|
"name": "o2o-site-ontology",
|
|
"version": "0.1.0",
|
|
"description": "SEO/AEO keyword ontology service for o2o-site-AEO",
|
|
"private": true,
|
|
"scripts": {
|
|
"build": "nest build",
|
|
"start": "nest start",
|
|
"start:dev": "nest start --watch",
|
|
"start:prod": "node dist/main.js",
|
|
"db:up": "docker compose up -d",
|
|
"db:down": "docker compose down",
|
|
"db:migrate": "tsx src/db/migrate.ts",
|
|
"db:seed": "tsx src/db/seed.ts",
|
|
"db:reset": "docker compose down -v && docker compose up -d --wait && npm run db:migrate && npm run db:seed",
|
|
"smoke": "tsx scripts/smoke.ts"
|
|
},
|
|
"dependencies": {
|
|
"@nestjs/bullmq": "^11.0.2",
|
|
"@nestjs/common": "^11.0.12",
|
|
"@nestjs/core": "^11.0.12",
|
|
"@nestjs/platform-express": "^11.0.12",
|
|
"@nestjs/schedule": "^5.0.1",
|
|
"bullmq": "^5.44.0",
|
|
"class-transformer": "^0.5.1",
|
|
"class-validator": "^0.14.1",
|
|
"dotenv": "^16.4.7",
|
|
"openai": "^4.89.0",
|
|
"postgres": "^3.4.5",
|
|
"reflect-metadata": "^0.2.2",
|
|
"rxjs": "^7.8.2"
|
|
},
|
|
"devDependencies": {
|
|
"@nestjs/cli": "^11.0.5",
|
|
"@nestjs/schematics": "^11.0.2",
|
|
"@types/express": "^5.0.1",
|
|
"@types/node": "^22.13.14",
|
|
"tsx": "^4.19.3",
|
|
"typescript": "^5.8.2"
|
|
}
|
|
}
|