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, 信息监测, 命令控制, 安全插件, 搜索引擎查询, 数据清洗, 数据采集, 测试用例, 社交媒体监控, 自动化攻击, 请求拦截