跳转到内容

项目结构

fullstack-starter/
├── src/
│ ├── index.ts # CLI 入口:交互式选择前端 / 后端 / 项目名
│ └── generator.ts # 生成器:复制模板 + 生成配置与脚本文件
├── templates/
│ ├── base/ # 公共文件(.gitignore)
│ ├── frontend-react/ # React 前端模板
│ ├── frontend-vue/ # Vue 前端模板
│ ├── backend-python/ # FastAPI 后端模板
│ └── backend-java/ # Spring Boot 后端模板
├── package.json
└── tsconfig.json

templates/ 下的文件就是用户最终拿到的文件;生成器只负责复制模板,并动态生成 dev.sh、build.sh、Dockerfile、docker-compose.yml、.dockerignore、nginx.conf 和各项目 README。

my-project/
├── frontend/ # 前端项目
├── backend/ # 后端项目
├── dev.sh # 开发脚本:start / stop / restart / install
├── build.sh # 构建脚本:前端构建 + 后端检查
├── Dockerfile # 单镜像:前端构建 + 后端 + Nginx
├── docker-compose.yml # Docker 编排
├── .dockerignore # Docker 构建排除项
├── nginx.conf # Nginx 配置:静态文件 + /api 反代
└── README.md # 项目说明
  • 文件夹src
    • 文件夹api
      • client.ts fetch 封装,401 自动登出
      • auth.ts user.ts role.ts permission.ts menu.ts
      • system.ts dashboard.ts ai-model.ts audit-log.ts data-management.ts
    • 文件夹types
      • common.ts auth.ts user.ts role.ts permission.ts menu.ts
      • system.ts dashboard.ts ai-model.ts audit-log.ts
    • 文件夹components
      • admin-layout.tsx app-sidebar.tsx header.tsx login-form.tsx
      • protected-route.tsx theme-provider.tsx theme-toggle.tsx
      • shared 分页 / 确认删除 / 表格状态 / 加载按钮
      • ui 24 个 shadcn/ui 组件
    • 文件夹lib
      • auth-context.tsx site-config.tsx toast.ts utils.ts
    • 文件夹pages
      • auth login.tsx register.tsx
      • dashboard index.tsx
      • 文件夹settings
        • user role permission menu system ai-model audit-log data-management profile
      • not-found.tsx
    • router.tsx
    • App.tsx
    • main.tsx
  • components.json shadcn 配置
  • vite.config.ts 开发代理 /api → localhost:8088
  • package.json
  • 文件夹app
    • main.py FastAPI 应用、CORS、审计中间件、路由注册
    • 文件夹core
      • config.py database.py security.py deps.py
      • audit.py permissions_catalog.py menu_catalog.py
      • app_state.py seed.py schemas.py
    • auth user role permission menu
    • system ai_model audit data_management dashboard public
    • 每个领域含 models / schemas / crud / router
  • pyproject.toml
  • .env.example

领域模块化组织:每个业务域一个包,基础设施统一放在 core/。

文件 作用
dev.sh 开发脚本,自动安装依赖并同时启动前后端
build.sh 前端构建 + 后端代码检查
Dockerfile 多阶段构建,产出含 Nginx 与后端的单镜像
nginx.conf 监听 5173,提供前端静态文件并反代 /api/ 到后端
frontend/vite.config.ts 开发时将 /api 代理到 localhost:8088

更详细的说明见前端结构、Python 后端、Java 后端。