Skip to content

项目结构

indiestack/
├── src/
│   ├── app/                      # Next.js App Router
│   │   ├── (marketing)/          # 营销页面(公开)
│   │   ├── auth/                 # 认证页面(公开)
│   │   ├── dashboard/            # 仪表盘(受保护)
│   │   ├── api/                  # API 路由
│   │   ├── page.tsx              # 首页
│   │   ├── layout.tsx            # 根布局
│   │   ├── globals.css           # 全局样式
│   │   ├── not-found.tsx         # 404
│   │   └── error.tsx             # 错误边界
│   ├── components/
│   │   ├── ui/                   # 23 个 shadcn/ui 组件
│   │   ├── auth/                 # 登录/注册表单
│   │   ├── layout/               # 头部/底部/主题切换
│   │   ├── dashboard/            # 仪表盘组件
│   │   ├── forms/                # 表单组件
│   │   ├── providers/            # Theme/Supabase Provider
│   │   └── shared/               # 通用组件
│   ├── hooks/                    # 自定义 Hooks
│   ├── i18n/                     # next-intl 配置(routing/request/navigation)
│   ├── lib/
│   │   ├── actions/              # Server Actions
│   │   ├── storage/              # 阿里云 OSS
│   │   ├── stripe/               # Stripe 支付
│   │   ├── supabase/             # 4 个 Supabase 客户端
│   │   ├── validations/          # Zod 校验
│   │   ├── constants.ts          # 常量
│   │   └── utils.ts              # 工具函数
│   └── middleware.ts
├── messages/                     # i18n 文案({locale}/{namespace}.json)
├── docs-site/                    # VitePress 文档站
└── .env.example

基于 MIT 协议开源