Phase 4: Resource ingestion pipeline for automated content discovery
维护者通常 1 天内回复
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 活跃
- 技术栈
- github, typescript
- 领域
- backend, database, devops, full-stack
调研方向
Start by reading src/lib/ingestion/run-ingestion.ts, src/lib/ingestion/sources/index.ts, and src/lib/ingestion/classify-match.ts, then trace the cron route and the admin actions. Review vercel.json and the existing ingestion flow before deciding how to divide the source adapters, scheduling, matching, monitoring, and review-workflow work. Done means the listed ingestion stages and priority sources operate through admin approval.
由索引模型根据 Issue 内容生成。
描述
Description
The codebase already has a partial ingestion pipeline implementation in src/lib/ingestion/. This issue tracks completing it for automated content discovery from external sources.
Current State (from codebase exploration)
src/lib/ingestion/types.ts- TypeScript types for candidatessrc/lib/ingestion/sources/index.ts- Source adapters (GitHub Student Pack, etc.)src/lib/ingestion/classify-match.ts- Duplicate detection logicsrc/lib/ingestion/run-ingestion.ts- Main ingestion orchestrationsrc/lib/ingestion/queries.ts- Database queries for candidatessrc/app/api/cron/ingest-resources/route.ts- Cron endpointsrc/app/admin/(dashboard)/ingestion/page.tsx- Admin review UIsrc/app/admin/(dashboard)/ingestion/actions.ts- Approve/reject actions
What's Needed to Complete
- Source implementations: Complete adapters for:
- GitHub Student Pack (official API or scraping)
- Major cloud providers (AWS, Azure, GCP student pages)
- Popular tool vendor pages (JetBrains, Figma, Notion, etc.)
- Scheduling: Vercel Cron to run ingestion weekly
- Deduplication improvement: Better matching logic in
classify-match.ts - Admin review workflow: Already partially built, needs polish
- Source monitoring: Track which sources are healthy/stale
Files to Enhance
src/lib/ingestion/sources/- add more source adapterssrc/lib/ingestion/classify-match.ts- improve matching algorithmsrc/app/api/cron/ingest-resources/route.ts- ensure cron worksvercel.json- add ingestion cron schedule
Ingestion Flow
- Cron triggers
/api/cron/ingest-resources - For each source: fetch raw data → normalize → classify (new vs possible duplicate)
- Store in
ingestion_candidatestable withmatchTypeandmatchedResourceId - Admin reviews in
/admin/ingestion→ Approve (creates resource) or Reject - Approved candidates → inserted into
resourceswithapproved = true
Priority Sources
- GitHub Student Pack (official partner list)
- AWS / Azure / GCP student pages
- Major IDE vendors (JetBrains, VS Code extensions)
- Design tools (Figma, Canva, Framer, Sketch)
- Productivity tools (Notion, Linear, Raycast, etc.)
Notes
- This reduces manual admin work for keeping directory fresh
- Complements community submissions (Phase 4)
- Can run more frequently than link-health cron
- 主要语言
- TypeScript
- 星标
- 1
- 派生
- 6
- 平均合并
- 1 天 45 分钟
- 30 天内合并 PR
- 52
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
相似的 Issue
-
area: server priority: P3 type: bug
难度 2/5 1-3 小时 新手友好度 83/100
appandflow/stim#4538 ·
维护者通常 1 天内回复
-
[BUG] Published Docker images lack the redis extra: HEADROOM_COMPRESS_SESSION_STORE stops startup可能已有人在做 @AlessandroSpallina 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
headroomlabs-ai/headroom#4513 ·
维护者通常 1 天内回复
-
bug extension extension: obsidian platform: Windows
难度 2/5 1-3 小时 新手友好度 68/100
raycast/extensions#32838 · 1 条评论 ·
维护者通常 1 天内回复
-
copy design-review mac P3
难度 2/5 1-3 小时 新手友好度 88/100
tosunlab/hisarapp-core#510 ·
-
bug priority-medium to-agent
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复