# my-fullstack-app **Repository Path**: wanjiasu/my-fullstack-app ## Basic Information - **Project Name**: my-fullstack-app - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-29 - **Last Updated**: 2025-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 全栈应用模板 一个使用 Next.js + FastAPI 的现代化全栈应用模板。 ## 技术栈 ### 前端 - Next.js 15.3.1 - React 19 - TypeScript - TailwindCSS ### 后端 - FastAPI - Pydantic - Python 3.9+ ## 项目结构 ```tree my-fullstack-app/ ├── frontend/ # Next.js 前端项目 │ ├── src/ # 源代码 │ │ ├── app/ # Next.js App Router 页面 │ │ └── lib/ # 工具库和配置 │ ├── public/ # 静态资源 │ ├── Dockerfile.dev # 开发环境 Docker 配置 │ └── package.json # 依赖配置 ├── backend/ # FastAPI 后端项目 │ ├── app/ # 应用代码 │ │ ├── core/ # 核心配置 │ │ ├── models/ # 数据模型(如需数据库) │ │ ├── schemas/ # Pydantic 模式 │ │ ├── services/ # 业务逻辑 │ │ ├── routers/ # API 路由 │ │ ├── utils/ # 工具函数 │ │ └── main.py # 应用入口 │ ├── Dockerfile.dev # 开发环境 Docker 配置 │ └── requirements.txt # Python 依赖 ├── docker-compose.yml # Docker 编排配置 ├── .env.example # 环境变量示例 └── README.md # 项目文档 ``` ## 功能特性 - 🚀 **现代化技术栈**:使用最新版本的 Next.js 和 FastAPI - 🔧 **开箱即用**:预配置的开发环境和项目结构 - 🐳 **容器化部署**:使用 Docker 和 Docker Compose - 📁 **清晰架构**:遵循最佳实践的项目结构 - 🔄 **热重载**:前后端支持开发时的热重载 - 📚 **API 文档**:自动生成的 API 文档 - 🎨 **现代 UI**:使用 TailwindCSS 的美观界面 ## 快速开始 ### 1. 克隆项目 ```bash git clone cd my-fullstack-app ``` ### 2. 配置环境变量 ```bash cp .env.example .env # 根据需要编辑 .env 文件 ``` ### 3. 启动服务 ```bash docker-compose up --build ``` ### 4. 访问服务 - 前端应用: http://localhost:3000 - 后端 API: http://localhost:8000 - API 文档: http://localhost:8000/docs ## 开发指南 ### 后端开发 #### 添加新的 API 端点 1. 在 `backend/app/schemas/` 中定义数据模式 2. 在 `backend/app/services/` 中实现业务逻辑 3. 在 `backend/app/routers/` 中创建 API 路由 4. 在 `backend/app/main.py` 中注册路由 #### 示例 API 项目包含了一个完整的示例 API (`/api/examples`),展示了如何: - 创建、读取、更新、删除数据 - 使用 Pydantic 进行数据验证 - 组织代码结构 ### 前端开发 #### 添加新页面 1. 在 `frontend/src/app/` 中创建新的页面文件 2. 使用 `frontend/src/lib/api.ts` 调用后端 API 3. 使用 TailwindCSS 进行样式设计 #### API 调用 使用预配置的 axios 实例进行 API 调用: ```typescript import api from '@/lib/api'; const response = await api.get('/api/examples'); ``` ## 自定义配置 ### 环境变量 在 `.env` 文件中配置以下变量: - `APP_NAME`: 应用名称 - `DEBUG`: 是否启用调试模式 - `ALLOWED_ORIGINS`: 允许的跨域源 - `NEXT_PUBLIC_API_BASE_URL`: 前端调用后端的 URL ### 添加数据库支持 如果需要使用数据库,可以: 1. 在 `docker-compose.yml` 中添加数据库服务 2. 在 `backend/app/core/database.py` 中取消注释数据库配置 3. 在 `backend/requirements.txt` 中添加数据库驱动 4. 在 `backend/app/models/` 中定义数据模型 ## 部署 ### 开发环境 ```bash docker-compose up --build ``` ### 生产环境 1. 创建生产环境的 Dockerfile 2. 配置生产环境的环境变量 3. 使用适当的容器编排工具(如 Kubernetes) ## 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ## 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情