01MVP 标识01MVP
开发指南项目结构

项目结构

Monorepo 目录组织和各模块职责说明

本项目采用 Turborepo + pnpm workspace 的 monorepo 结构。

多端架构

仓库说明
手机端 + 桌面端 Web01mvp/mono同一套 Next.js 响应式页面,通过断点适配移动端和桌面端
微信小程序端01mvp/mini-community通过 WebView 承载社区页面,作为小程序壳层接入

小程序接入提示

微信小程序 WebView 接入通常需要企业主体资质,并在小程序后台完成合法业务域名配置。

顶层目录

mono/
├── apps/
│   ├── mono-web/          # Next.js 主应用
│   └── timemark/          # AI 时间记录应用
├── packages/              # 按领域拆分的共享工作区包
│   ├── ai/                # AI / LLM 集成
│   ├── asr/               # 语音识别
│   ├── auth/              # 认证与权限
│   ├── cache/             # 缓存能力
│   ├── content-moderation/ # 内容审核
│   ├── storage/           # 文件存储
│   ├── ui/                # shadcn/ui 原子组件
│   ├── ui-shared/         # 跨应用共享业务组件
│   ├── utils/             # 通用工具函数
│   └── ...                # 其他领域包
├── docs/                  # 仓库内部工作记录和阶段性文档
├── openspec/              # 功能规格和变更提案
└── tools/                 # 仓库工具脚本

对外的项目文档站不在根目录 docs/,而是在 apps/mono-web/content/docs/,由 Fumadocs 渲染。

apps/mono-web 应用结构

路由分组 (src/app/)

src/app/
├── (app)/                 # 需要认证的应用页面
│   └── auth/              # 登录、注册等认证页面
├── (main)/                # 主站页面
│   ├── (account)/         # 账户相关(设置、贡献、活动管理)
│   └── (public)/          # 公开页面(首页、成员、项目、活动)
├── api/                   # API 路由入口
└── layout.tsx             # 根布局

业务模块 (src/modules/)

src/modules/
├── account/               # 账户功能
│   ├── admin/             # 超级管理员
│   ├── auth/              # 认证相关组件
│   ├── contributions/     # 贡献管理
│   ├── events/            # 活动管理
│   ├── organizations/     # 组织管理
│   ├── profile/           # 个人资料
│   └── settings/          # 账户设置
├── public/                # 公开页面模块
│   ├── blog/              # 博客
│   ├── events/            # 活动展示
│   ├── home/              # 首页
│   ├── organizations/     # 组织展示
│   ├── profile/           # 公开个人主页
│   └── projects/          # 项目展示
├── analytics/             # 数据分析
├── i18n/                  # 国际化配置
├── shared/                # 共享组件和工具
└── tools/                 # 工具模块

领域功能 (src/features/)

src/features/
├── events/                # 活动核心逻辑
├── event-submissions/     # 活动报名
├── events-token/          # Events Token API
├── functional-roles/      # 功能角色
├── hackathon/             # 黑客松功能
├── notifications/         # 通知系统
├── permissions/           # 权限管理
└── profile/               # 用户资料

服务端 (src/server/)

src/server/
├── app.ts                 # Hono 应用入口,挂载所有路由
├── index.ts               # 服务端导出
├── middleware/             # 中间件(CORS、错误处理、限流)
├── lib/                   # 服务端工具函数
└── routes/                # 40+ API 路由模块

内容目录 (content/)

content/
├── docs/                  # 文档 (MDX)
│   ├── getting-started/   # 快速开始
│   ├── guide/             # 开发与部署指南
│   ├── packages/          # workspace 包文档
│   └── ...                # 其他文档分类
├── legal/                 # 法律文档
└── posts/                 # 博客文章

packages 各包职责

包名路径职责
authpackages/auth/Better Auth 相关能力、权限与邀请逻辑
aipackages/ai/LLM 调用封装与结构化生成能力
asrpackages/asr/语音识别客户端与流式协议封装
cachepackages/cache/内存缓存、Next.js 缓存集成与缓存监控
content-moderationpackages/content-moderation/内容审核服务封装
storagepackages/storage/上传 URL、公共资源地址与水印处理工具
uipackages/ui/纯 shadcn/ui 原子组件
ui-sharedpackages/ui-shared/跨应用共享业务组件
utilspackages/utils/通用工具函数
validatorspackages/validators/共享校验 schema 与验证工具