跳到主要内容

邮轮穿舱件管理系统后台 - 源码安装指南

目录

项目概述

邮轮穿舱件管理系统后台是一个基于FastAPI框架开发的RESTful API服务,主要用于管理邮轮穿舱件的相关业务数据。系统采用模块化设计,包含用户管理、角色权限、工单管理、图像处理等核心功能模块。

参考文件:

环境要求

系统要求

  • Python 3.11+
  • 数据库(支持PostgreSQL/MySQL/SQLite)
  • 内存:至少2GB
  • 磁盘空间:至少500MB

Python依赖

项目使用pyproject.toml管理依赖,主要依赖包包括:

  • FastAPI:Web框架
  • Tortoise-ORM:异步ORM
  • Pydantic:数据验证
  • Aerich:数据库迁移工具

参考文件:

安装步骤

1. 克隆代码库

git clone <repository_url>
cd c0726-backend-api

2. 创建虚拟环境

python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows

3. 安装依赖

pip install -r requirements.txt

4. 环境配置

创建环境配置文件:

# 创建.env文件
cp .env.example .env

编辑.env文件,设置必要的环境变量:

ENV=development
WECHAT_APPID=your_wechat_appid
WECHAT_SECRET=your_wechat_secret
JWT_SECRET_KEY=your_jwt_secret_key

5. 配置文件设置

创建配置目录和文件:

mkdir -p .config

创建环境特定的配置文件:

# .config/development.application.json
{
"app_debug": true,
"app_name": "邮轮穿舱件管理系统",
"app_version": "1.0.0",
"app_desc": "邮轮穿舱件管理系统后台API"
}
# .config/development.wechat.json
{
"wechat_appid": "your_appid",
"wechat_secret": "your_secret"
}
# .config/development.database.json
{
"connections": {
"default": {
"engine": "tortoise.backends.asyncpg",
"credentials": {
"host": "localhost",
"port": "5432",
"user": "postgres",
"password": "password",
"database": "cruise_management"
}
}
},
"apps": {
"models": {
"models": ["app.models", "aerich.models"],
"default_connection": "default"
}
}
}

参考文件:

配置说明

核心配置类

系统使用Pydantic Settings管理配置,支持环境变量和配置文件:

classDiagram
class Settings {
+env: str
+application_debug: str
+application_name: str
+application_version: str
+JWT_SECRET_KEY: str
+wechat_appid: str
+wechat_secret: str
+tortoise_orm_config_dict: Dict
+_set_application_attributes() Self
+_set_wechat_config_attributes() Self
}

Settings --> BaseSettings : 继承

配置加载流程:

  1. 从.env文件加载基础环境变量
  2. 根据ENV变量加载对应的配置文件
  3. 动态设置应用属性

参考文件:

数据库设置

1. 数据库初始化

对于空数据库,执行初始化命令:

aerich init-db

2. 模型迁移

当模型更新时,执行迁移命令:

aerich migrate
aerich upgrade

数据库配置架构

flowchart TD
A[应用启动] --> B[加载Settings配置]
B --> C[读取数据库配置文件]
C --> D[初始化Tortoise ORM]
D --> E[建立数据库连接]
E --> F[应用运行]

参考文件:

启动应用

开发环境启动

uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

生产环境启动

使用Docker部署:

docker build -t cruise-backend .
docker run -p 8000:8000 cruise-backend

Dockerfile配置:

FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . /app
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]

参考文件:

系统架构

整体架构图

flowchart TD
subgraph "前端层"
A[Web界面]
B[移动应用]
C[微信小程序]
end

subgraph "API网关层"
D[FastAPI应用]
E[中间件]
F[路由分发]
end

subgraph "业务逻辑层"
G[用户服务]
H[工单服务]
I[图像服务]
J[统计服务]
end

subgraph "数据访问层"
K[Tortoise ORM]
L[数据库]
end

A --> D
B --> D
C --> D
D --> E --> F
F --> G
F --> H
F --> I
F --> J
G --> K --> L
H --> K
I --> K
J --> K

模块依赖关系

flowchart TD
A[app.main] --> B[app.core.settings]
A --> C[app.core.lifespan]
A --> D[app.routers.*]

B --> E[配置文件]
C --> F[数据库连接]

D --> G[app.service.*]
D --> H[app.models.*]

G --> H
G --> I[app.lib.*]

style A fill:#f9f
style B fill:#bbf
style D fill:#dfd

参考文件:

依赖关系分析

核心模块依赖

系统采用分层架构,各模块职责明确:

  1. 核心模块(core):提供基础服务和配置
  2. 路由模块(routers):处理HTTP请求和响应
  3. 服务模块(service):实现业务逻辑
  4. 数据模型(models):定义数据库结构
  5. 工具库(lib):提供通用功能

关键依赖关系

  • FastAPI应用依赖于核心配置和中间件
  • 路由模块依赖于对应的服务模块
  • 服务模块依赖于数据模型和工具库
  • 所有模块都依赖于核心配置

配置依赖流程

sequenceDiagram
participant U as 用户请求
participant M as 主应用
participant S as Settings配置
participant C as 配置文件
participant R as 路由处理

U->>M: HTTP请求
M->>S: 加载配置
S->>C: 读取环境配置
C-->>S: 返回配置数据
S-->>M: 提供配置
M->>R: 路由分发
R-->>U: 返回响应

故障排除

常见问题

  1. 依赖安装失败:检查Python版本和网络连接
  2. 数据库连接失败:验证数据库配置和连接信息
  3. 配置文件缺失:确保所有必需的配置文件存在
  4. 权限问题:检查文件读写权限

日志查看

应用日志输出到errors.log文件,可通过以下命令查看:

tail -f errors.log

索引

本安装指南详细介绍了邮轮穿舱件管理系统后台的源码安装过程。系统采用现代化的Python技术栈,具有良好的模块化设计和可扩展性。通过遵循上述步骤,您可以成功部署和运行该系统。

关键要点:

  • 使用虚拟环境隔离依赖
  • 正确配置环境变量和配置文件
  • 按顺序执行数据库迁移命令
  • 根据环境选择适当的启动方式

下一步行动:

  • 配置生产环境参数
  • 设置反向代理和SSL证书
  • 配置监控和日志收集
  • 进行性能测试和优化