本项目是一个基于Java Web技术栈开发的在线朋友圈系统,提供用户注册、登录、动态发布与评论、好友发现与管理等功能。通过Spring Boot、MySQL、MyBatis、Sa-token以及LayUI等技术实现,确保系统具有良好的性能和扩展性。
技术栈
后端技术
- Spring Boot: 作为主要的后端框架,简化了配置和开发流程。
- MySQL: 关系型数据库,用于存储用户数据、动态信息、评论及好友关系等。
- MyBatis: 持久层框架,负责数据的持久化操作,提供灵活的SQL映射。
- Sa-token: 权限认证框架,保证用户数据安全和接口访问控制。
前端技术
- LayUI: 轻量级的前端框架,提供了丰富的UI组件,便于快速开发响应式界面。
主要功能模块
用户模块
- 用户注册: 新用户进行注册,填写基本信息。
- 用户登录: 用户通过用户名及密码登录系统,使用Sa-token进行身份验证。
- 用户信息管理: 用户可以查看和更新个人信息,包括用户名、头像等。
动态模块
- 动态发布: 用户可以发布包含文字动态,与好友分享生活点滴。
- 动态详情查看: 用户可以查看动态的详细内容,包括文字,历史评论及发布时间等。
- 评论功能: 用户可以对动态进行评论,与好友互动,评论可删除。
好友模块
- 发现好友: 用户可以通过搜索发现其他用户,并发送好友申请。
- 添加好友: 好友申请需要对方审核通过后才能添加为好友。
- 好友列表: 用户可以查看已添加的好友列表,方便互动。
- 删除好友: 支持双向删除好友,解除好友关系。
部分效果
项目结构
项目结构设计规范且清晰,便于后期维护和扩展。主要分为以下几个部分:
Controller层: 负责处理HTTP请求,调用相应的Service方法。
Service层: 业务逻辑层,处理具体的业务需求。
Mapper层: 使用MyBatis进行数据库操作。
Model层: 数据模型,对应数据库中的表结构。
Config层: 配置类,包含Spring Boot及其他框架的配置文件。
资源文件: 包含MyBatis的XML映射文件及Spring Boot的配置文件。
前端资源: 存放前端静态资源和页面文件。
项目特点
模块化设计: 各功能模块独立,实现高内聚低耦合,便于维护和扩展。
安全性: 使用Sa-token进行用户身份认证和权限管理,确保数据安全。
易于扩展: 项目结构清晰,可根据需求扩展新的功能模块。
用户体验良好: 前端采用LayUI框架,界面美观,操作简便。
总结
本项目通过整合多种主流技术,搭建了一个功能完善的在线朋友圈系统,涵盖了用户注册、登录、动态发布与评论、好友发现与管理等基本功能。通过Spring Boot、MySQL、MyBatis、Sa-token和LayUI的结合,实现了后端高效开发与前端优质体验的完美统一。
源码
https://yan-sheng-li.github.io/project/social_circle_web.html#%E7%A8%8B%E5%BA%8F