赞
踩
目录
项目介绍 1
摘要 1
总体架构 1
展示层 3
微信小程序 3
服务层 4
推荐算法 4
RPC 服务 13
SpringBoot 微服务 14
数据层 15
MySQL 15
Redis 18
效果展示 20
备注 22
总体架构
本系统主要分为三大模块:展示层基于 微信小程序构建,方便快捷;服务层利用 Python 实现余弦相似度算法计算房源之间相似度,再搭建远程过程调用服务,服务端对外则使用 SpringBoot 框架搭建 RESTFul API 接口;数据层以 MySQL 数据库作为支撑,存储关系型数据,同时使用 Redis 缓存作为辅 助来存储推荐结果,从而提高推荐系统对于前端的响应速度。另外,在项目前期利用爬 虫程序爬取房源信息,并进行了数据清洗、去重等工作,从而为数据的特征提取、处理 打下了一个良好的基础。开发工具主要使用了 JetBrains 公司开发的 IntelliJ IDEA 与 Pycharm、微信开发者工具、PostMan 接口测试工具。
展示层
微信小程序
小程序架构图
页面结构
小程序的项目结构可大致分为第三方 UI 组件目录、页面目录、和小程序全局 配置文件。小程序开发引用到了 iView Weapp 组件库与 Wux App 组件库,这些都 是小程序开发中比较常用的第三方 UI 组件库;页面总共分为了七个页面,本文转载自http://www.biyezuopin.vip/onews.asp?id=16997其中有 些页面进行了多次代码复用 ;小程序全局配置文件主要是注册小程序的生命周 期函数、全局样式、Tab 页面注册及负责一些小程序初始化的逻辑。
数据层
MySQL
主要利用 MySQL 来存储房源数据、用户个人数据、用户收藏数据、用户浏览记录,数据库存储引擎选用的是 InnoDB,编码为 UTF-8。
在 SpringBoot 项目中的 application.yaml 中进行数据源的配置,其中需要设置数据库连接 URL,数据库用户名、数据库密码,数据库连接驱动(一般推荐使用 com.mysql.cj.jdbc.Driver)。同时,为防止日期格式等出现错误或乱码问题还需要设置时区与日期格式。
# 数据源配置 datasource:
url: jdbc:mysql://localhost:3306/house?useSSL=false&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai username: root
password: 123456
#type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。