Skip to content

kakaoxy/targethouse

Repository files navigation

美房宝 - 房源数据分析系统

一个基于 FastAPI 和 Vue.js 的房源数据分析系统,支持在售房源和成交房源的数据展示、分析和评估。

功能特点

  • 房源搜索:支持按小区名称搜索在售和成交房源
  • 数据可视化:展示户型分布、楼层分布等统计图表
  • 房源评估:提供详细的房源评估报告,包括:
    • 房源基本信息
    • 小区成交历史
    • 价格走势分析
    • 在售房源分布
    • 成交记录分析
  • 响应式设计:支持PC端和移动端访问
  • 实时数据:支持数据实时更新和展示

技术栈

后端

  • Python 3.12
  • FastAPI
  • MongoDB
  • Gunicorn
  • Uvicorn

前端

  • Vue.js 3
  • Element Plus
  • Chart.js
  • Axios
  • Bootstrap 5

项目结构

targethouse/
├── frontend/                 # 前端文件
│   ├── static/              # 静态资源
│   ├── js/                  # JavaScript文件
│   │   ├── app.js          # 主应用逻辑
│   │   └── calculator.js    # 投资计算器逻辑
│   ├── index.html          # 主页面
│   └── style.css           # 样式文件
├── main.py                  # FastAPI应用入口
├── database.py             # 数据库操作
├── spider.py               # 数据爬虫
├── gunicorn_config.py      # Gunicorn配置
├── requirements.txt        # Python依赖
└── targethouse.service     # Systemd服务配置

安装部署

1. 环境要求

  • Python 3.12+
  • MongoDB 4.4+
  • Nginx 1.18+

2. 安装依赖

# 创建虚拟环境
python -m venv venv
source venv/bin/activate

# 安装依赖
pip install -r requirements.txt

3. 配置MongoDB

# 创建数据库用户
use targethouse
db.createUser({
    user: "username",
    pwd: "password",
    roles: ["readWrite"]
})

4. 配置Nginx

# 复制Nginx配置
sudo cp targethouse /etc/nginx/sites-available/
sudo ln -s /etc/nginx/sites-available/targethouse /etc/nginx/sites-enabled/

# 配置SSL证书
# 将证书文件放置在指定位置

5. 配置系统服务

# 复制服务配置
sudo cp targethouse.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable targethouse

6. 启动服务

# 启动MongoDB
sudo systemctl start mongod

# 启动应用服务
sudo systemctl start targethouse

# 启动Nginx
sudo systemctl start nginx

配置说明

环境变量

创建.env文件并配置以下变量:

MONGO_USERNAME=your_username
MONGO_PASSWORD=your_password
MONGO_HOST=localhost
MONGO_PORT=27017
MONGO_AUTH_SOURCE=admin

Nginx配置

主要配置项:

  • SSL证书配置
  • 反向代理设置
  • CORS策略
  • 静态文件处理

Gunicorn配置

主要配置项:

  • 工作进程数
  • 超时设置
  • 日志配置
  • 代理设置

API接口

获取在售房源

GET /api/houses/on-sale

获取成交房源

GET /api/houses/sold

查询参数:

  • community: 小区名称(必填)
  • city: 城市名称(必填)
  • skip: 跳过记录数(默认0)
  • limit: 返回记录数(默认10)

使用说明

  1. 访问系统:https://www.hitoday.top
  2. 输入小区名称进行搜索
  3. 使用筛选器过滤数据
  4. 查看数据可视化图表
  5. 使用投资计算器进行分析

维护说明

日志位置

  • Nginx日志:/var/log/nginx/
  • 应用日志:/var/log/targethouse/

常用维护命令

# 查看服务状态
sudo systemctl status targethouse

# 重启服务
sudo systemctl restart targethouse

# 查看日志
sudo tail -f /var/log/targethouse/error.log

安全说明

  • 已启用HTTPS
  • 已配置CORS策略
  • 已启用HSTS
  • 已配置适当的请求限制

数据采集

系统包含一个Chrome扩展用于数据采集:

  1. 在Chrome中加载扩展
  2. 访问目标房源页面
  3. 点击扩展图标开始采集
  4. 数据会自动保存到数据库

许可证

MIT License

联系方式

如有问题或建议,请联系开发团队。

更新日志

v1.0.0 (2024-12-12)

  • 初始版本发布
  • 支持基础房源数据查询
  • 添加投资计算器功能
  • 实现数据可视化
  • 支持HTTPS访问

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •