777genius/social-monitor

GitHub: 777genius/social-monitor

一个用于构建社交、新闻和网络信号监控系统的 TypeScript/NestJS 后端参考实现及架构文档库。

Stars: 0 | Forks: 0

# Social Monitor Social Monitor 是一个 API 优先的后端,用于构建社交、新闻和网络信号监控系统。 它专为需要收集公共信号、将其标准化为可靠事件、进行搜索和分析,并将重要发现路由到仪表盘、警报、报告或下游 AI 工作流的团队而设计。 该仓库目前包含一个 TypeScript/NestJS 后端、测试、基础设施辅助工具,以及大量记录了该平台背后产品和系统设计决策的架构备忘录。 ## 您可以用它构建什么 - 品牌、产品或创作者提及监控 - 新闻和媒体情报仪表盘 - 公共网络和社交信号摄取 pipeline - 声誉、风险和事件监控工作流 - 针对 API、feed、webhook 和队列的来源连接器实验 - AI 辅助的分流、摘要、聚类和评估 pipeline - 供分析师、操作员和工程团队使用的内部工具 Social Monitor 在此仓库中不是一个托管的 SaaS。它是一个后端和架构基础,您可以在本地运行、扩展和改造它。 ## 项目状态 这是一个早期的 MVP/参考实现。代码库已经具有结构化的后端和丰富的架构文档,但有些集成被特意设计为内存模式或本地优先,同时正在加强生产设计。 目前适用的场景: - 阅读架构和产品方向 - 探索清晰的 TypeScript 后端结构 - 构建或测试监控领域的工作流 - 扩展 API、摄取、交付、身份认证和可观测性模块 暂不适用的场景: - 未经审查即插即用的生产部署 - 在没有您自己的法律、隐私和安全控制的情况下进行敏感或受监管的监控 - 假设所有计划中的架构文档都已完全在代码中实现 ## 技术栈 - Node.js 22+ 上的 TypeScript - 用于应用模块和 REST API 的 NestJS - 用于数据库 schema 和迁移的 Prisma - 用于本地基础设施的 PostgreSQL 和 Redis - 用于单元和端到端测试的 Jest 和 Supertest - 用于代码质量检查的 ESLint - 领域模块的端口/适配器风格边界 ## 仓库地图 ``` apps/ api-gateway/ REST API entrypoint delivery-service/ delivery and notification workflows ingestion-worker/ ingestion processing entrypoint intelligence-worker/ analysis and intelligence processing entrypoint libs/ delivery/ delivery domain and adapters identity/ tenants, API keys, and auth-related flows monitoring/ scan requests and monitoring workflows platform/ shared platform utilities and infrastructure ports docs/ architecture-memory/ durable product and architecture decisions iterations/ implementation and planning notes prisma/ schema.prisma database schema seed.ts local seed script test/ e2e/ end-to-end API tests ``` ## 快速开始 前置条件: - Node.js 22 或更高版本 - npm - Docker 和 Docker Compose,用于本地 PostgreSQL 和 Redis 克隆仓库: ``` git clone https://github.com/777genius/social-monitor.git cd social-monitor ``` 安装依赖: ``` npm install ``` 创建本地环境配置: ``` cp .env.example .env ``` 启动本地基础设施: ``` docker compose up -d ``` 验证数据库并生成 Prisma 客户端: ``` npm run check:migrations ``` 运行测试: ``` npm run test npm run test:e2e ``` 在本地启动 API: ``` npm run start:api ``` 还提供其他 worker 入口点: ``` npm run start:ingestion npm run start:intelligence npm run start:delivery ``` ## 常用命令 ``` npm run build # TypeScript build npm run lint # ESLint check npm run check:architecture # Architecture boundary checks npm run check:local-infra # Local infrastructure checks npm run verify # Full local verification pipeline ``` ## 从架构文档开始 如果您想在运行系统之前了解它,请从这里开始: - docs/architecture-memory/00-index.md - docs/architecture-memory/100-architecture-summary.md - docs/architecture-memory/101-bounded-context-map.md - docs/architecture-memory/102-service-interface-contracts.md - docs/architecture-memory/103-event-catalog-v1.md 架构备忘录内容非常详细。它记录了有关摄取、监控、身份认证、交付、可观测性、数据治理、AI 评估和生产就绪性方面的决策。 ## 负责任地使用 仅在您有权访问和监控的数据源中使用此项目。社交和网络监控可能会影响隐私、安全和平台政策合规性。在生产环境中使用它之前,请审查来源条款、数据保留、用户同意、法律依据和内部访问控制。 ## 许可证 尚未选择公共许可证。在添加 LICENSE 文件之前,请勿假设超出查看此公共仓库范围的任何复用权利。
标签:API, NestJS, TypeScript, 信息监测, 命令控制, 安全插件, 搜索引擎查询, 数据清洗, 数据采集, 测试用例, 社交媒体监控, 自动化攻击, 请求拦截