前言
我是春节假期偶然想起这个项目的
今年春节假期因为下雨的原因在家时间比较多,所以在搞电脑的时候突然想起了OneCat这个项目
捣鼓捣鼓一下,重新run起来,发现单纯拿来当个聚合阅读工具还不错hhh
然后回想起OneCat这个项目的开发经历,第一次尝试开发分布式系统、第一次尝试深度学习方法的NLP、第一次接触推荐系统、第一次尝试docker部署……
作为大学期间的最后一个项目,我想认真做一做,或许以后回忆起这四年才不会觉得虚度光阴~
虽然开发过程中遇到不少难题,不过也学到了很多,当时答辩完就没怎么管这个App了也没发布出来,为了有始有终,我决定写一个系列的博客来介绍OneCat项目从零开始开发的过程,并且重启开发,添加上更多的功能
什么是OneCat
首先解决是什么的问题。
OneCat,中文名「壹喵」,是我本科的毕业设计,是一款集聚合阅读、推荐系统、聚合搜索、社区等功能的App
名字的由来:偶然想到的,“壹”代表只需要一个App,“喵”因为我比较喜欢猫,所以选了猫作为App的标志。(起名真是一件困难的事)
App截图
直接上App图片,后台那么多东西没人看得见,只有前端是用户最直接感知到的。
| 登录 | 注册 | 关于 | 
|---|---|---|
图片准备加载中...  | 图片准备加载中...  | 图片准备加载中...  | 
| 主页 | 分类订阅 | 文章阅读 | 
图片准备加载中...  | 图片准备加载中...  | 图片准备加载中...  | 
| 用户主页 | 全网热点 | 文章评论 | 
图片准备加载中...  | 图片准备加载中...  | 图片准备加载中...  | 
篇幅所限,就发个九宫格叭~
项目架构
OneCat主要分为运行在服务器端的后端程序与运行在手机客户端的应用程序两大部分。
服务器端分为数据服务、全网热点、推荐系统、聚合搜索等模块。
数据服务包括:
- 网络信息采集(爬虫)、
 - 数据缓存(MongoDB数据库)、
 - 数据清洗(基于深度学习的BERT模型自然语言处理、中文文本分类)、
 - 数据持久化以及提供访问数据的Restful接口(DjangoRestFramework框架)等模块;
 
全网热点基于数据服务的数据,提供类似“热搜”的热点榜单,快速了解当下热门事件;
推荐系统使用包括基于聚类推荐、基于机器学习算法(协同过滤)和基于关联规则推荐的隐语义模型(深度学习)等多种推荐方法;
聚合搜索包括一个元搜索引擎和相应的数据接口。