RealWorld 项目是一个标准化的 API 实现和参考平台,旨在展示如何使用各种前端和后端技术构建真实的应用程序。与仅展示基本功能的典型“待办事项”演示不同,RealWorld 提供了完整的、可用于生产环境的应用程序,具有 CRUD 操作、身份验证、路由、分页等功能。
本文档涵盖了 RealWorld 平台的核心架构、组件和工作流程。有关具体的实现细节,请参阅 项目结构 或 入门指南。
来源: README.md8-12 package.json8
RealWorld 的设计围绕一套标准化的接口,这些接口允许前端和后端实现互换,同时保持功能的一致性。
该架构的特点是规范(任何实现都必须遵循)与实现本身之间存在清晰的分离。这使得开发人员可以专注于他们选择的技术,同时确保与所有其他实现的兼容性。
来源: README.md30-34 api/openapi.yml1-5 package.json3-16
API 规范以 OpenAPI 格式定义,是 RealWorld 的基础。它提供了对以下内容的正式定义:
来源: api/openapi.yml12-19 api/openapi.yml22-421
数据库模式使用 Prisma 定义,对域实体及其关系进行建模。
来源: apps/api/prisma/migrations/20241009081140_init/migration.sql1-95
RealWorld 包括一个全面的 API 测试套件,使用 Postman Collections 来验证实现正确性。
来源: README.md31
RealWorld 项目使用 monorepo 结构,由 pnpm 和 Turbo 管理,以实现高效的开发和构建。
来源: package.json24-28 apps/api/package.json3-10
RealWorld 的目的是提供:
该项目鼓励开发人员使用不同的语言和框架创建新的实现,同时通过标准化的 API 确保兼容性。
来源: README.md8-15 README.md17-20 README.md30-34
参考实现使用以下技术:
| 组件 | 技术 |
|---|---|
| API服务器 | Nitro/Node.js |
| 数据库 | Prisma with SQLite |
| API 定义 | OpenAPI 3.0.1 |
| API 测试 | Postman Collection |
| 包管理 | pnpm |
| 构建系统 | Turbo |
| 身份验证 | JWT 令牌 |
来源: apps/api/package.json3-25 api/openapi.yml1-4 package.json24-36
开发人员实施 RealWorld 的关键集成点包括:
这些集成点可确保任何实现,无论技术栈如何,都能与 RealWorld 生态系统兼容。