期末项目搜房网(一)

搜房网

(一)需求分析:

1:项目背景:在一线城市中,有着大量的租房需求,该网站希望可以帮助用户快速的找到房源

      目标用户:一线城市的工作者

      项目可行性:可以赚钱

2:(1)项目要求:

有一定的ElasticSearch基础;熟悉Java以及Java Web;有Spring以及SpringBoot的基础;了解MySQL以及JPA;有一定的前端知识储备。

     (2)项目的技术使用:

强力技术组合=ElasticSearch+Mysql+Kafka  实现站内搜索引擎,让用户可以轻轻松松的搜索房源信息

强强联合=ElasticSearch+百度地图  实现地图找房功能

负载加安全=ElasticSearch+Nginx  Nginx实现ElasticSearch的负载均衡

传说中的数据分析神器ELK=ElasticSearch+Logstash+Kibana  对数据的分析

基础核心框架=SpringBoot 

数据库的长青树=Mysql+Spring Data JPA  

走在前端的流行前线=thymeleaf+Bootstrap+jquery

项目安全框架=spring Security

主流核心技术 :

图片上传=七牛云+webUpoad

免注册登陆=阿里短信   底层是基于阿里云通讯实现的

(二)架构设计与分层:

结构分层:

经典的三层架构

后台管理模块:为了方便网站运营人员管理租房网站的房源信息,就需要有后台管理系统。开发一个后台管理模块来统一管理租房网站站的数据,人员信息等等。

目标:后台登陆  权限控制  注销功能

房源信息管理模块:搭建了后台管理模块的框架后,另外还需要完善网站的房源信息管理子模块,所以这儿我们要实现房源信息的增删查改。

目标,通过后台管理功能:新增房源;房源信息的(查,改,删);房源审核

基础功能模块:作为一个租房网站,要有基本的房源浏览功能,让用户在我们的网站可以浏览房源信息,并在找到目标房源后,能够查看房源的详细信息,这儿我们要实现租房网站的核心基础功能。

目标:网站基本布局;房源信息浏览;房源信息详情页;网站整体布局实现

搜索引擎模块:在我们网站实现了基础信息浏览功能以后,用户就可以看到网站上所有的房源,但是在网站房源信息量爆炸的时候,用户是很难找到自己想要的信息,这时候,网站就必须要有站内搜索引擎功能,帮助用户根据自身需求快速的找到想要的房源信息。

目标:构建ES房源索引;基于ES构建搜索引擎;解决中文分词问题;Search-as-you-type(搜索提示);使搜索引擎结果集最优

基于百度地图的找房模块:在网站拥有了搜索引擎之后,用户就可以非常方便的搜到自己想要的房源信息了,但是有很多时候,用户并不能清楚自己想要什么,那么这里就迫切的需要一个具有提示性质的功能,来方便用户查询信息,所以我们的找房地图功能就很有必要了。我们的目标就是能在指定区域显示用户想要的房源,方便用户根据地理位置寻找房源信息,提升网站的竞争力。

目标:构建房源地理坐标;聚合地图范围内房源;根据地图视野查询房源;地图事件绑定数据源;地图展示房源数据麻点图

会员系统模块:在网站拥有基本的数据浏览和检索功能之后,用户如果对网站房源感兴趣的话,就需要在线预约看房等功能。那么实现在线预约等功能的前提就是账户系统,我们本章的目标就是实现一个会员系统,让用户可以通过手机号免注册登陆,然后就可以使用预约看房等账号绑定功能。

目标:手机号免注册登录;个人信息管理;在线预约看房功能

基于ELK的应用分析模块:在网站运营期间,除了功能之外,运营,产品,技术乃至Boss都需要了解网站的业务运行情况,这个时候就需要针对网站产生的数据做一些分析,我们可以基于ELK对网站访问日志数据做基本的分析统计。

目标:搭建ELK应用技术栈;分析网站整体访问流量情况;分析网站房源访问量Top 5;

Logstash:应用搭建及Nginx访问日志采集。Nginx访问日志拆解入库

Kindbana:(可视化分析中间件)应用搭建以及基本介绍;数据可视化分析-全局访问流量;数据可视化分析-房源访问流量趋势

(三)实体设计:

(1)数据库的选择:

Mysql是当前最流行的关系型数据库,在互联网公司Mysql也是应用最多的关系型数据库。

ElasticSearch是基于Apache Lucene的开源搜索引擎

利用ES可以方便的实现站内搜索引擎,还用MySQL的原因是利用它的事务特性做稳定的数据存储;最终以Mysql做基础数据存储,结合ES实现站内搜索引擎。

(2)用户的E-R图:

(3)房源的E-R图:

 

猜你喜欢

转载自www.cnblogs.com/April315/p/10816710.html
今日推荐