# online_management_system **Repository Path**: CarlosW/online_management_system ## Basic Information - **Project Name**: online_management_system - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-25 - **Last Updated**: 2026-01-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 Next.js + FastAPI 全栈作品集项目 > 适合前端开发者的全栈学习项目 | 不需要数据库,零配置启动 **技术栈**:Next.js 16 + TypeScript + FastAPI + pnpm --- ## ⚡ 5 分钟快速开始 ### 1. 启动后端(终端 1) ```bash cd backend python -m venv venv # Windows venv\Scripts\activate # Mac/Linux source venv/bin/activate pip install -r requirements.txt python main.py ``` ✅ 后端运行:http://localhost:8000 ### 2. 启动前端(终端 2) ```bash cd frontend # 安装 pnpm(如果还没有) npm install -g pnpm # 安装依赖并启动 pnpm install pnpm dev ``` ✅ 前端运行:http://localhost:3000 --- ## 📚 学习文档 本项目包含三个 README 文档: 1. **[frontend/README.md](./frontend/README.md)** 📱 - Next.js + TypeScript + pnpm 完整指南 - Server/Client Components 详解 - Tailwind CSS 速查 - **前端开发者从这里开始!** 2. **[backend/README.md](./backend/README.md)** 🐍 - FastAPI 入门教程 - RESTful API 基础 - **不需要数据库!** 使用内存数据 - 适合前端开发者学习后端 3. **本文档** - 项目总览和快速开始 --- ## 🎯 项目特点 ### 适合前端开发者 - ✅ **零数据库配置** - 后端使用内存数据 - ✅ **详细中文注释** - 每行代码都有说明 - ✅ **pnpm 包管理** - 快 2倍,省 50% 空间 - ✅ **TypeScript 全栈** - 前后端类型一致 - ✅ **自动 API 文档** - FastAPI 生成 Swagger UI ### 技术亮点 | 前端 | 后端 | |------|------| | Next.js 16 App Router | FastAPI (Python) | | Server Components | Pydantic 数据验证 | | Tailwind CSS | CORS 跨域配置 | | TypeScript | 自动 API 文档 | --- ## 📁 项目结构 ``` . ├── frontend/ # Next.js 前端 │ ├── app/ │ │ ├── page.tsx # 主页 ⭐ 核心文件 │ │ └── layout.tsx # 全局布局 │ ├── .npmrc # pnpm 配置 │ ├── package.json │ └── README.md # 📖 前端学习文档 │ ├── backend/ # FastAPI 后端 │ ├── main.py # API 主文件 ⭐ 核心文件 │ ├── requirements.txt # Python 依赖 │ ├── .env # 环境变量 │ └── README.md # 📖 后端学习文档 │ ├── README.md # 📖 本文档(项目总览) ├── start-frontend.bat/sh # 前端启动脚本 └── start-backend.bat/sh # 后端启动脚本 ``` --- ## 🔧 数据库问题 ### ❓ 我需要搭建数据库吗? **不需要!** 本项目使用**内存数据**,非常适合前端开发者学习全栈。 **工作原理:** ```python # backend/main.py projects_db = [ { "id": 1, "title": "E-commerce Platform", "description": "...", "technologies": ["Next.js", "FastAPI"] } ] ``` **优势:** - ✅ 零配置 - ✅ 立即可用 - ✅ 专注学习前后端交互 - ✅ 不用担心数据库安装 **想添加真实数据库?** 后续可以轻松集成: - SQLite(最简单,单文件) - PostgreSQL(推荐,生产级) - MongoDB(NoSQL) 详见:`backend/README.md` 中的进阶部分 --- ## 🎓 学习路线(4周计划) ### 第 1 周:环境搭建 - [ ] 安装 pnpm - [ ] 启动前后端 - [ ] 阅读 `frontend/app/page.tsx` 注释 - [ ] 阅读 `backend/main.py` 注释 - [ ] 访问 http://localhost:8000/docs 查看 API 文档 ### 第 2 周:理解数据流 - [ ] 理解前端如何调用后端 API - [ ] 修改 projects_db 数据,刷新页面看效果 - [ ] 理解 CORS 是什么 - [ ] 理解 Server vs Client Components ### 第 3 周:添加功能 - [ ] 在后端添加新的 API 端点 - [ ] 在前端调用新端点 - [ ] 创建新页面(如 About) - [ ] 添加表单(Client Component) ### 第 4 周:部署上线 - [ ] 前端部署到 Vercel - [ ] 后端部署到 Railway - [ ] 配置环境变量 - [ ] 添加到简历! --- ## 🚀 部署 ### 前端 (Vercel - 推荐) ```bash # 1. 推送到 GitHub # 2. 访问 vercel.com # 3. Import Project → 选择仓库 # 4. Root Directory: frontend # 5. Deploy ``` ### 后端 (Railway - 推荐) ```bash # 1. 访问 railway.app # 2. New Project → Deploy from GitHub # 3. Root Directory: backend # 4. 环境变量: # PORT=8000 # FRONTEND_URL=https://your-frontend.vercel.app ``` 详细步骤查看各自的 README 文档。 --- ## ❓ 常见问题 ### Q: 我只想学前端,需要启动后端吗? **需要。** 前端需要后端 API 才能显示数据。但后端启动很简单: ```bash cd backend python -m venv venv venv\Scripts\activate # Windows pip install -r requirements.txt python main.py ``` 一次配置,之后每次只需 `python main.py`。 ### Q: pnpm 是什么? **现代化的 Node.js 包管理器**,比 npm 快 2-3 倍。 ```bash # npm → pnpm 命令对照 npm install → pnpm install npm run dev → pnpm dev (省略 run) npm install react → pnpm add react ``` 详见:`frontend/README.md` ### Q: TypeScript 难吗? **不难。** 如果你熟悉 JavaScript: ```typescript // JavaScript function getProject(id) { return projects.find(p => p.id === id) } // TypeScript (只是加了类型) function getProject(id: number): Project | undefined { return projects.find(p => p.id === id) } ``` 本项目代码注释详细,边学边用。 ### Q: 我能用这个项目求职吗? **当然!** 这是一个完整的全栈项目,包含: - ✅ 现代化技术栈 - ✅ 前后端分离 - ✅ TypeScript 类型安全 - ✅ 可部署上线 - ✅ 有 GitHub 仓库 部署后添加到简历的"项目经验"部分。 --- ## 📚 详细文档 - **前端开发者** → 从 [`frontend/README.md`](./frontend/README.md) 开始 - **想学后端** → 查看 [`backend/README.md`](./backend/README.md) - **pnpm 迁移** → 查看 [`PNPM_MIGRATION.md`](./PNPM_MIGRATION.md) --- ## 🎯 下一步 1. 启动项目(看上面快速开始) 2. 打开浏览器访问 http://localhost:3000 3. 阅读 `frontend/README.md` 开始学习前端 4. 阅读代码注释(`frontend/app/page.tsx` 和 `backend/main.py`) 5. 修改数据,看效果 6. 部署上线! --- **祝你学习顺利!** 🚀 有问题查看各自的 README 文档,或者 Google/ChatGPT。