
使用vibe coding开发,感觉整个人都起飞了。
你要做一个现代化的京都民宿预订和管理系统,专为日本京都地区的民宿经营者设计。系统提供完整的前端展示、后台管理和多语言支持,帮助民宿业主高效管理房源、预订和客户关系。
## 🌟 核心特性
### 多语言支持
- **支持语言**: 日语(默认)、英语、中文
- **语言切换**: URL路径式切换 (`/ja/`, `/en/`, `/zh/`)
- **完整翻译**: 所有界面元素、内容、SEO标签都支持多语言
- **本地化内容**: 房源信息、新闻、联系信息等支持多语言版本
### 响应式设计
- **移动优先**: 完美适配手机、平板、桌面设备
- **Bootstrap 5**: 现代化CSS框架
- **无动画干扰**: 纯净的用户体验,无多余动画效果
- **优雅布局**: 日式美学设计,温暖的色彩搭配
### SEO优化
- **完整Meta标签**: 描述、关键词、作者信息
- **Open Graph**: Facebook分享优化
- **Twitter Card**: Twitter分享优化
- **结构化数据**: 搜索引擎友好的内容结构
- **多语言SEO**: 每种语言的独立SEO配置
## 🏠 前端功能
### 首页展示
- **英雄区域**: 大图展示,多语言标题和描述
- **特色房源**: 精选房源卡片展示
- **新闻动态**: 最新民宿新闻和公告
- **快速预订**: 直接跳转到Airbnb预订
- **语言切换**: 便捷的多语言切换器
### 房源展示
- **房源列表**: 网格布局展示所有房源
- **房源详情**: 详细的房源信息页面
- 多语言描述和标题
- 高清图片轮播
- 设施信息
- 价格和容量
- Airbnb预订链接
- 地址和许可信息
- **推荐房源**: 智能推荐相关房源
### 预订系统
- **Airbnb集成**: 直接跳转到Airbnb完成预订
- **预订确认**: 预订成功页面
- **状态跟踪**: 预订状态管理
### 联系功能
- **联系表单**: 多语言联系表单
- **联系信息**: 多语言联系方式展示
- **社交媒体**: 微信、LINE等社交媒体链接
### 运营服务页面
- **管理服务**: 民宿运营代管服务介绍
- **服务内容**: 详细的服务说明
## 🛠️ 后台管理系统
### 仪表盘
- **数据概览**: 房间数量、管理员数量统计
- **最新消息**: 客户咨询统计
- **系统状态**: 数据库状态和备份信息
- **快速操作**: 常用功能快捷入口
### 房源管理
- **添加房源**: 完整的房源信息录入
- 多语言标题和描述
- 图片上传和管理
- 价格和容量设置
- 地址和许可信息
- Airbnb链接配置
- **编辑房源**: 修改现有房源信息
- **删除房源**: 安全删除确认
- **批量操作**: 批量管理功能
### 预订管理
- **预订列表**: 查看所有预订记录
- **状态管理**: 预订状态更新
- **客户信息**: 预订客户详细信息
- **Airbnb集成**: 与Airbnb平台数据同步
### 消息管理
- **客户咨询**: 查看和处理客户消息
- **回复功能**: 直接在后台回复客户
- **消息分类**: 按类型和时间分类
- **删除管理**: 清理过期消息
### 新闻管理
- **发布新闻**: 多语言新闻发布
- **编辑功能**: 修改现有新闻
- **发布状态**: 控制新闻显示状态
- **时间管理**: 发布时间和排序
### 内容管理
- **首页内容**: 编辑首页所有内容元素
- 英雄区域内容
- 特色介绍
- 联系方式
- JSON格式灵活配置
- **联系页面**: 管理联系页面内容
- 多语言联系信息
- 社交媒体链接
- 地图和地址信息
### 用户管理
- **管理员账户**: 创建和管理管理员
- **权限控制**: 不同级别的访问权限
- **密码管理**: 安全的密码修改功能
- **登录日志**: 访问记录和安全监控
### 数据备份
- **自动备份**: 定时自动备份数据库
- **手动导出**: 随时手动创建备份
- **备份管理**: 查看和管理历史备份
- **下载功能**: 直接下载备份文件
- **恢复功能**: 从备份文件恢复数据
- **清理策略**: 自动清理旧备份文件
## 🔧 技术架构
### 后端技术栈
- **Flask 2.3.3**: Python Web框架
- **SQLAlchemy 2.0.43**: ORM数据库操作
- **Flask-Login 0.6.3**: 用户认证管理
- **Flask-WTF 1.2.1**: 表单处理和CSRF保护
- **WTForms 3.0.1**: 表单验证
- **SQLite**: 轻量级数据库
### 前端技术栈
- **Bootstrap 5.3.2**: CSS框架
- **HTML5**: 语义化标记
- **CSS3**: 现代样式特性
- **JavaScript**: 交互功能
- **Bootstrap Icons**: 图标库
- **Google Fonts**: 日式字体支持
### 开发工具
- **Python 3.8+**: 编程语言
- **Git**: 版本控制
- **虚拟环境**: 依赖隔离
## 📁 项目结构
GuestHouse/
├── app.py # 主应用文件
├── models.py # 数据模型定义
├── forms.py # 表单定义
├── translations.py # 多语言翻译
├── db.db # SQLite数据库
├── requirements.txt # Python依赖
├── static/ # 静态资源
│ ├── css/
│ │ └── style.css # 主样式文件 (1989行)
│ ├── js/
│ │ └── script.js # JavaScript文件
│ ├── img/ # 图片资源
│ │ ├── logo.png # 网站Logo
│ │ ├── favicon.png # 网站图标
│ │ ├── banner.png # 横幅图片
│ │ ├── rooms/ # 房源图片
│ │ └── flags/ # 语言旗帜
│ └── data/
│ └── home_content.json # 首页内容配置
├── templates/ # HTML模板 (27个文件)
│ ├── base.html # 基础模板
│ ├── index.html # 首页
│ ├── rooms.html # 房源列表
│ ├── room_detail.html # 房源详情
│ ├── management.html # 管理服务页面
│ ├── contact.html # 联系页面
│ ├── booking.html # 预订页面
│ ├── booking_success.html # 预订成功页面
│ ├── admin_*.html # 后台管理页面
│ ├── 404.html # 错误页面
│ └── 500.html # 服务器错误页面
├── backups/ # 数据库备份目录
└── README.md # 项目说明
## 🎨 设计特色
### 视觉设计
- **日式美学**: 传统京都风格的设计语言
- **色彩搭配**: 温暖的米色、棕色、淡绿色系
- **字体选择**:
- 日式衬线字体 (Shippori Mincho)
- 无衬线字体 (Noto Sans JP)
- **布局设计**: 简洁优雅的卡片式布局
- **图标系统**: Bootstrap Icons图标库
### 用户体验
- **无动画干扰**: 去除所有动画效果,提供纯净浏览体验
- **快速加载**: 优化的图片和资源加载
- **直观导航**: 清晰的信息架构和导航结构
- **移动优先**: 响应式设计确保各设备完美显示
- **无障碍设计**: 符合Web无障碍标准
## 📱 数据库设计
### 数据表结构
- **room**: 房源信息表
- 基础信息: id, name, description, price, capacity, image, status
- 多语言字段: name_ja/en/zh, description_ja/en/zh, address_ja/en/zh
- 扩展信息: airbnb_url, permit_number
- **booking**: 预订记录表
- 预订信息: room_id, name, email, check_in, check_out, guests
- 状态管理: status, created_at, updated_at
- **message**: 客户消息表
- 消息内容: name, email, content, created_at
- 多语言回复: reply_ja/en/zh, is_replied, replied_at
- **news**: 新闻内容表
- 多语言内容: title_ja/en/zh, body_ja/en/zh
- 发布管理: published_at, is_published
- **site_content**: 网站内容表
- 页面内容: key, heading_ja/en/zh, body_ja/en/zh
- 扩展配置: extra (JSON格式)
- **admin**: 管理员账户表
- 账户信息: username, password_hash
## 🚀 部署配置
### 环境要求
- **Python**: 3.8或更高版本
- **数据库**: SQLite 3
- **Web服务器**: Nginx或Apache(生产环境)
- **操作系统**: Linux/Unix/macOS/Windows
### 安装步骤
1. **克隆项目**: `git clone <repository-url>`
2. **创建虚拟环境**: `python -m venv venv`
3. **激活虚拟环境**: `source venv/bin/activate`
4. **安装依赖**: `pip install -r requirements.txt`
5. **启动应用**: `python app.py`
6. **访问应用**:
- 前端: http://localhost:5000
- 后台: http://localhost:5000/admin
- 默认管理员: admin / admin123
### 生产环境配置
- **环境变量**: FLASK_ENV=production
- **数据库路径**: 使用绝对路径确保数据安全
- **备份策略**: 定期自动备份
- **日志管理**: 应用日志和错误日志
- **安全配置**: CSRF保护、密码加密
## 🔒 安全特性
### 认证和授权
- **Flask-Login**: 安全的用户会话管理
- **密码加密**: PBKDF2哈希算法
- **CSRF保护**: Flask-WTF CSRF令牌
- **会话安全**: 安全的会话配置
### 数据保护
- **SQL注入防护**: SQLAlchemy ORM保护
- **XSS防护**: 模板自动转义
- **文件上传安全**: 文件类型和大小限制
- **输入验证**: WTForms表单验证
## 📊 性能优化
### 前端优化
- **图片优化**: 压缩和格式优化
- **CSS压缩**: 样式文件优化
- **缓存策略**: 静态资源缓存
- **CDN支持**: 外部资源CDN加载
### 后端优化
- **数据库索引**: 关键字段索引
- **查询优化**: 高效的数据库查询
- **缓存机制**: 内容缓存策略
- **连接池**: 数据库连接优化
## 🌐 国际化支持
### 多语言实现
- **翻译系统**: 完整的翻译映射表
- **动态语言切换**: URL路径式语言切换
- **内容本地化**: 所有用户生成内容支持多语言