# telltech **Repository Path**: Atopes/telltech ## Basic Information - **Project Name**: telltech - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-04-25 - **Last Updated**: 2025-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TellTech 项目 TellTech 是一个基于 Python FastAPI 和 React 的现代化 Web 应用。 ## 项目结构 ``` telltech/ ├── backend/ # FastAPI 后端 ├── frontend/ # React 前端 ├── start.sh # 启动脚本 ├── stop.sh # 停止脚本 └── telltech.service # systemd 服务配置 ``` ## 环境要求 - Python 3.8+ - Node.js 16+ - Conda 环境管理 - Ubuntu 20.04 LTS 或更高版本 ## 安装步骤 ### 1. 克隆项目 ```bash git clone cd telltech ``` ### 2. 后端设置 ```bash # 创建并激活conda环境 conda create -n telltech python=3.8 conda activate telltech # 安装后端依赖 cd backend pip install -r requirements.txt ``` ### 3. 前端设置 ```bash # 安装前端依赖 cd frontend npm install ``` ## 开发环境运行 ### 后端 ```bash cd backend python run.py -p ``` ### 前端 ```bash cd frontend npm run start ``` ## 生产环境部署 ### 1. 配置环境变量 确保在 `backend/.env` 和 `frontend/.env` 中设置了正确的环境变量。 ### 2. 构建前端 ```bash cd frontend npm run build:p ``` ## 访问应用 - 前端:http://localhost:3000 - 后端 API:http://localhost:8000 - API 文档:http://localhost:8000/docs ## 故障排除 1. 检查服务状态: ```bash sudo systemctl status telltech.service ``` 2. 查看详细日志: ```bash sudo journalctl -xeu telltech.service ``` 3. 检查进程: ```bash ps aux | grep python ps aux | grep node ``` 4. 检查端口占用: ```bash netstat -tulpn | grep -E '3000|8000' ``` ## 维护说明 1. 更新代码后重启服务: ```bash sudo systemctl restart telltech.service ``` 2. 查看实时日志: ```bash tail -f backend.log tail -f frontend.log ``` 3. 清理日志: ```bash echo "" > backend.log echo "" > frontend.log ``` # TellTech 轻量管理系统 这是一个精简的管理系统实现,基于 React + TypeScript + FastAPI + MySQL + Nginx 架构,适用于低配置服务器环境。 ## 项目结构 ``` telltech/ ├── backend/ # FastAPI 后端应用 │ ├── auth.py # 认证相关功能(优化共享数据库依赖) │ ├── crud.py # 数据库CRUD操作 │ ├── database.py # 数据库连接与会话管理(自动创建数据库) │ ├── Dockerfile # 后端Docker构建文件 │ ├── main.py # 应用入口(自动创建管理员账户) │ ├── models.py # 数据库模型 │ ├── requirements.txt # 依赖包列表 │ └── schemas.py # 数据验证模型 ├── db/ # 数据库相关 │ ├── migrations/ # 数据库迁移文件 │ │ ├── V1__initial_schema.sql # 初始表结构 │ │ └── V2__initial_data.sql # 初始数据 │ ├── init.sql # Docker初始化脚本 │ ├── migrate.py # 迁移管理工具 │ └── README.md # 数据库文档 ├── docker-compose.yml # Docker Compose配置 ├── frontend/ # React + TypeScript前端 │ ├── Dockerfile # 前端Docker构建文件 │ ├── package.json # 前端依赖配置 │ ├── start.bat # Windows环境启动脚本 │ ├── public/ # 静态资源 │ ├── src/ # 源代码 │ │ ├── App.tsx # 应用组件 │ │ ├── components/ # 可复用组件 │ │ ├── context/ # 上下文管理(使用常量管理API URL) │ │ └── pages/ # 页面组件 │ └── tsconfig.json # TypeScript配置 └── nginx/ # Nginx配置 └── nginx.conf # Nginx配置文件 ``` ## 系统要求 - CPU: 2核 - 内存: 2GB - 系统盘: 40GB SSD - 带宽: 3Mbps ## 技术栈 - **前端**:React + TypeScript + Ant Design - **后端**:FastAPI + SQLAlchemy - **数据库**:MySQL - **网关**:Nginx - **容器化**:Docker + Docker Compose ## 数据库管理 ### 数据库结构 项目使用 MySQL 数据库,主要表结构如下: 1. **users** - 用户表 2. **system_settings** - 系统设置表 3. **system_logs** - 系统日志表 4. **migration_history** - 迁移历史表 详细结构请参考 [db/README.md](db/README.md) ### 数据库迁移 项目使用自定义迁移工具管理数据库变更: ```bash # 初始化数据库 python db/migrate.py init # 应用迁移 python db/migrate.py migrate # 创建新迁移 python db/migrate.py create "迁移描述" ``` ## 自动化功能 系统包含以下自动化功能: 1. 自动检测并创建数据库 - 系统启动时检查数据库是否存在,不存在则自动创建 2. 自动创建管理员账户 - 系统启动时检查admin账户是否存在,不存在则自动创建(密码:yan@123) 3. 前端端口固定 - 自动使用3000端口,无需用户确认 ## 本地开发 ### 后端开发 1. 进入backend目录 ```bash cd backend ``` 2. 创建虚拟环境 ```bash conda activate telltech ``` 3. 安装依赖 ```bash pip install -r my_requirements.txt ``` 4. 运行开发服务器 ```bash uvicorn main:app --reload ``` 5. 访问API文档 ``` http://localhost:8000/docs ``` ### 前端开发 1. 进入frontend目录 ```bash cd frontend ``` 2. 安装依赖 ```bash npm install ``` 3. 运行开发服务器 (Linux/Mac) ```bash npm start ``` 4. 在Windows环境下运行 ```bash npm run start:windows # 或直接运行批处理文件 start.bat ``` 5. 访问前端应用 ``` http://localhost:3000 ``` ## Docker部署 1. 构建并启动所有服务 ```bash docker-compose up -d ``` 2. 访问应用 ``` http://localhost ``` ## 初始管理员用户 系统启动时会自动创建管理员用户: - 用户名:admin - 密码:yan@123 - 邮箱:admin@telltech.com ## 安全配置 1. 修改默认密码和密钥 2. 启用HTTPS 3. 定期备份数据库 4. 最小权限原则配置数据库用户 ## 故障排除 * 检查容器日志:`docker-compose logs -f [服务名]` * 检查数据库连接: `docker exec -it telltech-db mysql -u telltech -p telltech_db` * 检查API是否正常: `curl http://localhost:8000/api/health` ## 环境配置 TellTech项目支持多环境配置,包括开发环境和生产环境。 ### 前端环境配置 前端使用`.env`系列文件管理环境变量: - `.env` - 全局环境变量配置 - `.env.development` - 开发环境配置(Windows) - `.env.production` - 生产环境配置(Ubuntu服务器) 详细配置参见[前端README](frontend/README.md)。 ### 后端环境配置 后端使用`.env`文件管理环境变量: - `.env` - 当前环境配置文件 - `.env.production` - 生产环境配置文件(部署时重命名为`.env`) 详细配置参见[后端README](backend/README.md)。 ### 环境切换 #### 开发环境(Windows) 前端启动命令: ```bash cd frontend npm run start # 使用开发环境配置 ``` 后端启动命令: ```bash cd backend python run.py # 使用.env中的配置 ``` #### 生产环境(Ubuntu) 部署前准备: 1. 将后端的`.env.production`重命名为`.env` 2. 使用生产环境配置构建前端: ```bash cd frontend npm run build # 使用生产环境配置打包 ```