java 微信文章评论点赞,行之Blog-Java后端: 一款博客微信小程序,包括 Java 服务端,微信小程序端,vue 管理后台前端。主要功能有博客主体(文章流、文章详细内容、评论、点赞)、博主信...

行之Blog

项目简介

一款博客微信小程序,包括 Java 服务端,微信小程序端,vue 管理后台前端。主要功能有博客主体(文章流、文章详细内容、评论、点赞)、博主信息、分类标签、归档时间轴等几个模块。后端主要使用 Spring Boot + Spring Cloud & Alibaba + Mybatis 进行开发;使用 Jwt + Shiro做登录验证和权限校验;使用 Mysql 作为持久化数据库以及 Redis 缓存中间件、RabbitMQ作为消息中间件;使用 ElasticSearch 作为检索服务(es刚学会,还未集成到项目);使用七牛云 OSS 作为图片存储服务;使用 renren-fast 作为后台服务脚手架。微信小程序端主要使用原生框架进行开发,使用 ColorUI 作为 UI 框架,Wemark 组件进行 Markdown 渲染。管理后台前端主要使用Vue、Element-UI、axios、renren-fast-vue。此项目是我的第一个项目,许多技术也很不熟练,大多是一边写一边学习的,还希望各位多多指教/批评,感谢!o(▽)q

项目体验

目前微信小程序已上线,上线目的主要是给自己一点激励...

体验方式:微信搜索小程序“行之Blog”或者微信扫码以下小程序码

67c829d7596926316b3281b29c133746.png

特别说明:

文章详情内容渲染速度有点看手机性能的,如果点击文章进入后内容没有马上显示请稍微等一下

ElasticSearch 目前还未用到项目上,后续迭代的时候会用上(用于文章检索、标签检索等)

用户前台(小程序端)已基本完成,管理后台的需求不是很急迫,所以其目前处于起始状态

admin 模块的 master 分支使用的是人人开源的 renren-fast-vue 作为脚手架,而 develop 分支则是自己搭建的 Shiro + Jwt

项目代码仓库

技术介绍

技术特色

文章详情页采用 CompletableFuture 异步编排的方式获取详情页的内容数据,提升了接口响应速度

文章点击阅读量增加采用先写入 redis 缓存中,再由定时任务 QuartZ 定时写入 MySQL 数据库

文章点赞/取消赞操作数据先写入 redis 缓存中,再由定时任务 QuartZ 定时发送到 RabbitMQ 消息队列的 topic 中,由空闲消费者把消息数据写入 MySQL 中进行持久化

采用了 Redisson 作为分布式锁的解决方案,以及 Seata 作为分布式事务的解决方案

目前是用的 develop 分支部署的,master 分支目前还没完全优化完

下阶段计划:集成 ElasticSearch 构建搜索服务,分布式部署 master 分支,Nginx 负载均衡,进行方面优化后用 jmeter 来压测玩一玩

技术栈

Java服务端

JDK 1.8

Spring Boot 2.2.1.RELEASE

Spring Cloud Greenwich.SR3 & Alibaba

MySQL 5.7.26

Redis 3.2.100

RabbitMQ 3.8.14

Elastic Search (待集成)

Shiro

Jwt

第三方:七牛云

微信小程序端

后台前端

功能介绍

服务端

服务端使用 Java 作为主要编程语言,向微信小程序端(前台)和 Vue后台端提供数据交互服务,使用的技术包括:Spring Boot 进行 Web 搭建和项目主要支持,Spring Cloud & Alibaba 进行微服务搭建,Mybatis 作为数据库ORM框架,Mysql 数据库进行数据持久化,Redis 作为缓存中间件进行读操作的缓存以支持高频的读操作,Elastic Search 作为关键字检索开发框架,Shiro + Jwt 进行权限控制,七牛云 OSS 进行图片存储,Maven 进行项目管理,Tomcat 作为 web 服务器,GIt / GitHub / GItee 进行代码管理。

微信小程序

微信小程序作为面向用户的前台,具备文章流显示,文章详细内容显示,文章点赞/取消点赞,文章阅读量显示,文章评论/回复,用户微信登录,博主信息展示,博客归档信息等功能。目前来说功能比较少,因为我的初衷是做一个个人博客,所以后续可能会只进行功能的优化和修改,而不会增加功能(如前台用户系统,收藏等等功能)。由于后续我也会不断地学习新的技术,因此我将把后续学到的技术应用到新的项目中。

后台

后台作为面向系统管理员的应用,具备以下功能:

主题定制,通过scss变量统一一站式定制

动态菜单,通过菜单管理统一管理访问路由

数据切换,通过mock配置对接口数据/mock模拟数据进行切换

当然了,以上功能是 renren-fast-vue 自带的 o(▽)q

而我基于以上基础,进行二次开发,最后具备以下功能

内容管理

文章管理

文章内容管理

评论管理

标签管理

归档管理

用户管理

系统管理员管理

前台微信用户管理

项目意义

此项目算是我真正意义上的第一个实战项目吧,对我个人而言,可能技术意义大于项目应用意义。项目一开始时也踩了很多坑,到现在,也是跌跌撞撞把一些基础功能实现了,目前的技术栈可能还是比较基础的,后续我也会迭代,把一些陆续学习到的新技术应用到这个项目中,用这个项目来记录自己的成长。

开发过程

需求分析

23dbabb974f0e6f094abde9156aef56f.png

目前画的思维导图...应该不是很规范...

项目展示

微信小程序展示

微信小程序端用了 ColorUI 的样式、组件以及 wemark 的 markdown 渲染

主页(1)

主页(2)

文章详情(1)

文章详情(2)

fbdf52f45f746bb3dfc20ef747385eae.png

e293192ac85f0391ea9e1e4318a90bae.png

66153fb9aa2a524f463eca2c18697ad5.png

04e67f7d174bb679237ee1839435b39a.png

分类标签页

归档页

作者简介(抽屉式)

评论区

6028741f0e687ca47bdadb601a96f4db.png

ed6c53b32771d532ea5dfd95492e63bc.png

647f71fb85bcebb6d338240705a27d72.png

3e15c42059641e6d81170d8dad5d2df9.png

管理后台展示

正在努力开发中....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值