基于协同过滤推荐算法+springboot+vue的个人摄影作品分享网站
CSDN 2024-09-08 08:35:01 阅读 60
博主主页:猫头鹰源码
博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作
主要内容:毕业设计(Javaweb项目|小程序|Python|HTML|数据可视化|SSM|SpringBoot|Vue|Jsp|PHP等)、简历模板、学习资料、面试题库、技术咨询
文末联系获取
感兴趣可以先收藏起来,以防走丢,有任何选题、文档编写、代码问题也可以咨询我们
项目介绍:
本系统采用前后端分离,项目代码工整,结构清晰,适合选题:协同过滤,推荐算法,个人摄影、摄影、摄影作品、作品分享、前后端分离类其他摄影等。系统采用springboot+vue整合开发,前端主要使用了element-ui框架、项目后端主要使用了springboot,数据层采用mybatis。
部分功能:
<code>用户:
用户登录:用户登录系统获取自己的个人信息。需要用户输入自己的账号和密码。
用户注册:用户注册,在系统中录入自己的信息,方便后期使用系统。需要输入用户的姓名、性别、手机号、邮箱、个人头像。
用户个人信息管理:用户更改自己的电话号码、姓名、性别、邮箱、个人头像。
摄影作品收藏:用户对别人分享的摄影作品进行收藏或是将收藏夹中的商品进行移出。
摄影作品点赞:用户对别人分享的摄影作品进行点赞
用户评论管理:用户对别人分享的摄影作品进行评论
摄影作品浏览:可以分类查看摄影作品,或者模糊查询
摄影作品发布:每个用户都可以分享摄影作品,或编辑、删除、下架个人摄影作品
摄影作品资讯:查看管理员发布的摄影资讯信息
摄影作品推荐:根据收藏信息,使用基于用户的协同过滤算法进行推荐摄影作品
管理员:
1.此个人摄影作品分享网站可命名为 光影故事坊。
2.分为前后台,前台首页可以加个轮播图 以及 后台加轮播图管理(参考全国热门旅游景观)
3.还有我的要求在于
登录(后台登录)那里,我希望实现 账号+密码+图形验证码登录 以及 邮箱+验证码登录 两种登录方式。
邮箱用我的邮箱来发验证码就可以,到时候我提供给您需要的smtp码。
(当然您在写代码的时候可以先用您的来方便调试)
因为我们这边对于毕设有一定的工作量和创新点的要求,不知道这个要求可不可以实现
4.搜索与推荐
作品搜索:提供关键词搜索功能,方便用户查找感兴趣的摄影作品。
智能推荐:按照您所提供的文档中协同过滤推荐算法进行推荐即可
系统包含技术:
后端:springboot,mybatis
前端:vue、js、css等
算法:协同过滤推荐算法
开发工具:idea/vscode
数据库:mysql 5.7
JDK版本:jdk1.8
部分截图说明:
首页
摄影作品
详情
作品推荐
资讯
资讯详情
登录
用户管理
摄影作品管理
资讯管理
收藏管理
部分代码:
<code> /**
* 分页查询
*/
@PostMapping("selectAll")
public PageInfo<Delivery> selectAll(@RequestBody Map<String,String> mp) {
PageHelper.startPage(Integer.parseInt(mp.get("currentPage").toString()), Integer.parseInt(mp.get("pagesize").toString()));
List<Delivery> list = deliveryService.queryAllByLimit(mp);
PageInfo<Delivery> pageInfo = new PageInfo<Delivery>(list);
return pageInfo;
}
/**
* 查询所有
*/
@PostMapping("queryAll")
public List<Delivery> queryAll(@RequestBody Delivery delivery) {
List<Delivery> list = deliveryService.queryCondition(delivery);
return list;
}
/**
* 修改
*/
@RequestMapping("edit")
public Result edit(@RequestBody Delivery delivery) {
try {
deliveryService.update(delivery);
return Result.success("修改成功");
}catch (Exception e){
e.printStackTrace();
return Result.error("修改失败");
}
}
/**
* 新增
*/
@RequestMapping("add")
public Result add(@RequestBody Delivery delivery) {
try {
Date date = new Date();
delivery.setCreateTime(date);
deliveryService.insert(delivery);
Orders orders = new Orders();
orders.setId(delivery.getOid());
orders.setStatus("03");
ordersService.update(orders);
return Result.success("接单成功");
}catch (Exception e){
e.printStackTrace();
return Result.error("接单失败");
}
}
/**
* 通过主键查询单条数据
*/
@GetMapping("selectOne")
public Delivery selectOne(Integer id) {
return deliveryService.queryById(id);
}
/**
* 通过主键删除数据
*/
@GetMapping("deleteById")
public Result deleteById(Integer id) {
try {
Delivery delivery = deliveryService.queryById(id);
deliveryService.deleteById(id);
if(delivery!=null){
Orders orders = new Orders();
orders.setId(delivery.getOid());
orders.setStatus("02");
ordersService.update(orders);
}
return Result.success("删除成功");
}catch (Exception e){
e.printStackTrace();
return Result.error("删除失败");
}
}
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~
上一篇: 别让代码愁白头发!15 个 Python 函数拯救你的开发生活
下一篇: 大数据-86 Spark 集群 WordCount 用 Scala & Java 调用Spark 编译并打包上传运行 梦开始的地方
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。