# alkemie-cloud2-api **Repository Path**: tang-kan/alkemie-cloud2-api ## Basic Information - **Project Name**: alkemie-cloud2-api - **Description**: cloud的后端api,框架fastapi - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-13 - **Last Updated**: 2025-11-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FastAPI 后端框架 一个基于FastAPI和MongoDB的现代化后端框架。 ## 功能特性 - 🚀 基于FastAPI的高性能异步框架 - 🍃 MongoDB数据库支持 - 🔐 JWT身份认证 - 📝 自动API文档生成 - 🛡️ 密码加密存储 - 🔄 CORS跨域支持 - 📦 模块化架构设计 ## 技术栈 - **FastAPI**: 现代、快速的Web框架 - **MongoDB**: NoSQL文档数据库 - **Beanie**: MongoDB异步ODM - **Motor**: MongoDB异步驱动 - **Pydantic**: 数据验证和序列化 - **JWT**: JSON Web Token认证 - **Bcrypt**: 密码哈希加密 ## 项目结构 ``` workflow/ ├── app/ │ ├── __init__.py │ ├── main.py # 主应用文件 │ ├── config.py # 配置文件 │ ├── database.py # 数据库配置 │ ├── api/ # API路由 │ │ ├── __init__.py │ │ └── v1/ │ │ ├── __init__.py │ │ ├── users.py # 用户管理API │ │ └── auth.py # 认证API │ ├── models/ # 数据模型 │ │ ├── __init__.py │ │ └── user.py # 用户模型 │ └── schemas/ # Pydantic模式 │ ├── __init__.py │ └── user.py # 用户模式 ├── requirements.txt # 依赖包 ├── env.example # 环境变量示例 ├── run.py # 启动脚本 └── README.md # 项目说明 ``` ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 配置环境变量 复制 `env.example` 为 `.env` 并修改配置: ```bash cp env.example .env ``` 编辑 `.env` 文件: ```env # MongoDB配置 MONGODB_URL=mongodb://localhost:27017 DATABASE_NAME=fastapi_db # JWT配置 SECRET_KEY=your-secret-key-here ALGORITHM=HS256 ACCESS_TOKEN_EXPIRE_MINUTES=30 # 应用配置 APP_NAME=FastAPI Backend DEBUG=True HOST=0.0.0.0 PORT=8000 ``` ### 3. 启动MongoDB 确保MongoDB服务正在运行: ```bash # 使用Docker启动MongoDB docker run -d -p 27017:27017 --name mongodb mongo:latest # 或使用本地MongoDB服务 mongod ``` ### 4. 启动应用 ```bash python run.py ``` 或使用uvicorn直接启动: ```bash uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 ``` ### 5. 访问API文档 - Swagger UI: http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc ## API端点 ### 认证相关 - `POST /api/v1/auth/register` - 用户注册 - `POST /api/v1/auth/token` - 用户登录 - `GET /api/v1/auth/me` - 获取当前用户信息 ### 用户管理 - `GET /api/v1/users/` - 获取所有用户 - `GET /api/v1/users/{user_id}` - 获取指定用户 - `POST /api/v1/users/` - 创建新用户 - `PUT /api/v1/users/{user_id}` - 更新用户信息 - `DELETE /api/v1/users/{user_id}` - 删除用户 ### 系统相关 - `GET /` - 根路径 - `GET /health` - 健康检查 ## 开发指南 ### 添加新的API端点 1. 在 `app/api/v1/` 目录下创建新的路由文件 2. 在 `app/models/` 目录下定义数据模型 3. 在 `app/schemas/` 目录下定义Pydantic模式 4. 在 `app/api/v1/__init__.py` 中注册路由 ### 数据库操作 使用Beanie进行MongoDB操作: ```python from app.models.user import User # 创建用户 user = User(username="test", email="test@example.com") await user.insert() # 查询用户 user = await User.find_one(User.username == "test") # 更新用户 user.email = "new@example.com" await user.save() # 删除用户 await user.delete() ``` ## 部署 ### Docker部署 创建 `Dockerfile`: ```dockerfile FROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY . . EXPOSE 8000 CMD ["python", "run.py"] ``` 构建和运行: ```bash docker build -t fastapi-backend . docker run -p 8000:8000 fastapi-backend ``` ## 许可证 MIT License