提供多源新闻数据聚合的Web服务。
ani-updater/
├── common/ # 公共工具库
├── configuration/ # 配置文件
├── docker/ # Docker 相关文件
├── infra/ # 数据库、配置和日志等基础设施模块
├── migrations/ # 数据库迁移脚本
├── postgresql/ # 本地数据库数据与配置
├── scripts/ # 辅助脚本
├── service/ # 具体的业务整合模块
├── timer_tasker/ # 定时任务模块
├── web_services/ # web服务模块,应用的启动总入口
└── ...
- service:聚合各大新闻和视频平台的爬虫库,归一化新闻资讯输出。
- web_services:提供获取最新新闻和动漫信息的API,支持数据库管理、定时任务、健康检查以及GitHub第三方登录等。
- timer_tasker:定时任务调度器,负责定时拉取数据的lib。
- common:项目通用工具和定义的结构体对象。
- migrations:PostgreSQL 作为主数据库,支持自动建表与数据迁移。
- Rust 1.86+
- PostgreSQL 17+
- Docker(可选,推荐用于本地开发)
配置文件位于 configuration/ 目录下。
编辑 configuration/base.yaml、local.yaml 等文件,配置数据库、服务端口等参数。
环境变量配置
参照github_oauth2.md配置GitHub第三方登录所需的环境变量。
# 使用脚本初始化数据库
sh scripts/init_db.sh
# 或手动执行 migrations/ 下的 SQL 脚本目前可以使用 ani-updater-frontend作为前端项目用于测试使用
# 启动数据库
docker-compose -f docker/docker-compose.yml -p ani-updater up -d postgresql
# 构建所有子项目
cargo build --workspace
# 运行订阅服务
cargo run -p
# 启动数据库与应用服务
docker-compose -f docker/docker-compose.yml -p ani-updater up -d使用docker-compose启动时需要在docker-compose.yml中配置相关的环境变量,具体的环境变量配置见github_oauth2
- 订阅服务 API 入口见
ani_subs/src/startup.rs - 具体接口文档可参考代码注释或后续补充的 OpenAPI 文档
- 关于如何使用 GitHub 第三方登录请参考GitHub第三方登录使用说明
- tokio 异步运行时
- serde 序列化/反序列化
- reqwest HTTP 客户端
- sqlx 异步数据库
- 其他依赖详见各项目Cargo.toml
欢迎 issue、PR 与建议!
MIT LICENSE