# multi_basis **Repository Path**: hany_code/multi_basis ## Basic Information - **Project Name**: multi_basis - **Description**: 混合多个主流项目架构的示例代码 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-23 - **Last Updated**: 2026-05-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 多技术栈官方示例运行库 - 项目总览 > 📚 这是一个包含 20 个子项目(12后端 + 8前端)的多技术栈学习参考库 --- ## 🎯 项目目标 构建一个多技术栈官方示例运行库,每个子项目都是可运行的完整官方示例,用于学习参考。包含前端后端示例,每个示例都有测试脚本和完整 README。 --- ## 📋 项目清单 ### 后端项目(12 个) | # | 项目目录 | 技术栈 | 数据库 | 端口 | 配对前端 | |---|---------|--------|--------|------|---------| | 1 | python_flask_project | Flask 3.x | PostgreSQL | 8001 | Svelte Simple | | 2 | python_fastapi_project | FastAPI 0.11.x | PostgreSQL | 8002 | React SPA | | 3 | python_django_project | Django 5.x | PostgreSQL | 8003 | - | | 4 | python_django_ninja_project | Django-Ninja 1.x | PostgreSQL | 8004 | - | | 5 | nodejs_express_project | Express 4.x | PostgreSQL | 8013 | React Simple, Vue3 SPA | | 6 | nodejs_koa_project | Koa 2.x | PostgreSQL | 8014 | - | | 7 | nodejs_nestjs_project | NestJS 10.x | PostgreSQL | 8015 | - | | 8 | java_spring_boot_project | Spring Boot 3.x | PostgreSQL | 8016 | Angular SPA | | 9 | go_gin_project | Gin 1.9.x | SQLite | 8017 | Vue3 Simple, Svelte SPA | | 10 | go_echo_project | Echo 4.x | SQLite | 8018 | - | | 11 | rust_axum_project | Axum 0.7.x | SQLite | 8019 | Angular Simple | | 12 | rust_actix_web_project | Actix-web 4.x | SQLite | 8020 | - | ### 前端项目(8 个) | # | 项目目录 | 技术栈 | 构建工具 | 配对后端 | 端口 | |---|---------|--------|---------|---------|------| | 13 | javascript_react_spa_project | React 18.x | Vite | FastAPI | 8005 | | 14 | javascript_react_simple_project | React 18.x | - (CDN) | Express | 8006 | | 15 | javascript_vue3_spa_project | Vue 3.4.x | Vite | Express | 8007 | | 16 | javascript_vue3_simple_project | Vue 3.4.x | - (CDN) | Gin | 8008 | | 17 | javascript_svelte_spa_project | Svelte 4.x | Vite | Gin | 8009 | | 18 | javascript_svelte_simple_project | Svelte 4.x | - (CDN) | Flask | 8010 | | 19 | javascript_angular_spa_project | Angular 17.x | Angular CLI | Spring Boot | 8011 | | 20 | javascript_angular_simple_project | Angular 17.x | - (CDN) | Axum | 8012 | --- ## 🚀 快速启动 ### 1. 安装依赖环境 参考 [docs/frameworks_guide.md](docs/frameworks_guide.md) 了解每个框架的安装方式。 ### 2. 初始化数据库 ```bash # Linux/macOS ./scripts/init_db.sh # Windows PowerShell .\scripts\init_db.ps1 ``` ### 3. 检查前置条件 ```bash # Linux/macOS ./scripts/check_prerequisites.sh # Windows PowerShell .\scripts\check_prerequisites.ps1 ``` ### 4. 启动后端服务 ```bash # 以 Flask 为例 cd python_flask_project pip install -r requirements.txt python init_db.py python src/app.py ``` ### 5. 构建并部署前端(Monorepo 方式) ```bash # Linux/macOS ./scripts/build_and_deploy.sh all # Windows PowerShell .\scripts\build_and_deploy.ps1 all ``` ### 6. 访问应用 启动后端服务后,访问后端端口即可查看前端页面。 --- ## 📖 学习资源 ### 框架运行原理教程 详见 [docs/frameworks_guide.md](docs/frameworks_guide.md),包含: - 每个框架的内部工作原理 - 启动流程详解 - 测试方式说明 - 适合零基础学习者 ### 项目规划文档 详见 [project_plan.md](project_plan.md),包含: - 完整的项目清单 - 技术栈选择理由 - 数据库分配方案 - 实施决策记录 --- ## 🗂️ 项目结构 ``` multi_basis/ ├── scripts/ # 基础设施脚本 │ ├── init_db.sh/ps1 # 数据库初始化 │ ├── check_prerequisites.sh/ps1 # 前置条件检查 │ └── build_and_deploy.sh/ps1 # 前后端集成 ├── docs/ # 文档 │ └── frameworks_guide.md # 框架原理教程 ├── python_*_project/ # Python 后端项目 ├── nodejs_*_project/ # Node.js 后端项目 ├── java_*_project/ # Java 后端项目 ├── go_*_project/ # Go 后端项目 ├── rust_*_project/ # Rust 后端项目 └── javascript_*_project/ # JavaScript 前端项目 ``` --- ## 🔧 环境变量配置 每个项目使用 `.env` 文件管理配置: ### 后端项目 ```env DB_HOST=localhost DB_PORT=5432 DB_NAME=数据库名 DB_USER=postgres DB_PASSWORD=postgres PORT=端口号 ``` ### 前端项目 ```env VITE_API_URL=http://localhost:后端端口 ``` --- ## ✅ 验收标准 - [x] 每个后端项目可独立启动 - [x] 每个后端示例包含完整的 CRUD API - [x] 每个项目有测试脚本 - [x] 每个项目有完整 README - [x] 数据库:创建实例 + 建表 + 填充数据 - [x] 前后端配对可对接(Monorepo 方式) - [x] 所有示例使用官方示例写法 - [x] 端口配置不冲突 - [x] 中文注释和教程文档 --- ## 📝 补充说明 ### Monorepo 实现方式 - 前端 build 后的产物复制到后端 static 目录 - 只启动后端服务,前端即可访问 - 使用 `scripts/build_and_deploy.sh/ps1` 自动化 ### 数据库分配 - Python/Node.js/Java 项目 → PostgreSQL - Go/Rust 项目 → SQLite ### 跨平台支持 - 所有脚本提供 .sh(Linux/macOS)和 .ps1(Windows)版本 --- ## 🎓 学习建议 1. **先学 Python 框架**:Flask(简单)→ FastAPI(现代)→ Django(全功能) 2. **再学 Node.js 框架**:Express(基础)→ Koa(现代)→ NestJS(企业级) 3. **然后学 Go/Rust**:Gin/Echo(Go)→ Axum/Actix-web(Rust) 4. **最后学前端**:React → Vue → Svelte → Angular 每个框架都配有详细的原理说明和启动流程讲解,适合循序渐进地学习!