# java 社区项目HelloPra **Repository Path**: xiaoshangkou/HelloPra ## Basic Information - **Project Name**: java 社区项目HelloPra - **Description**: java 社区项目 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2022-11-14 - **Last Updated**: 2024-02-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, JavaScript, HTML, CSS ## README # HelloPra ### **更新日志** 2023/6/12 \ helloPra社区核心功能开发完成,能够进行基本的信息修改和发贴的操作 > 此版本为helloPra 1.0.0可以在标签中找到下载 ### **前言** 这是一个基于 javaWeb 的社区项目。 \ 功能还并不完善,例如 \ 前台的用户组功能没有实现, \ 评论功能没有实现, \ 访问其他用户主页功能没有实现等等, \ 只是核心功能开发完毕,所以酌情使用哦~ :kissing_heart: > 前台页面使用的是 NRGNetwork 社区模板 \ 后台使用的是 AdminLTE模板 如果对您有帮助,可以点一个小星星支持一下哦~~ :relaxed: ### **项目介绍_功能介绍** 项目分为管理员端和用户端 管理员端(后台)主要进行帖子用户的管理, \ 用户端(前台)主要 进行文章主页的展示。 >前台主页 ![输入图片说明](https://img1.imgtp.com/2023/06/11/IovWp6EQ.png) ---------- >个人主页 ![输入图片说明](https://img1.imgtp.com/2023/06/11/x9QnV9Ep.png) ---------- >后台页面 ![输入图片说明](https://img1.imgtp.com/2023/06/11/D7TWophE.png) 管理员端的主要功能有: - 1.管理员管理 - 2.用户管理 - 3.角色管理 - 4.权限管理 - 5.认证和授权 - 6.文章类型管理 - 7.文章管理 用户端的主要功能有: - 用户注册 - 用户登录 - 发表文章 - 查询文章 - 设置个人信息 ### **项目介绍_技术选型** 1. JAVA版本:JDK8 2. 数据库:Mysql5.7+Navicat 3. 后端框架:SpringBoot2.7.5 + SpringMVC + Mybatis-Plus3.5.0 4. 权限控制:SpringSecurity 5. 前端框架:AdminLTE2 6. 模板引擎:Thymeleaf 7. 工具类:发邮件工具类、生成验证码工具类 10. 其他技术:lombok、ajax、logback ### **项目介绍_如何快速运行** 1 首先您的电脑电脑需要安装 mysql 数据库\ 在开源链接中有一篇我以前写的关于配置 mysql 数据库的word教程或者\ 网上有也很多的 详细教程关于安装mysql数据库这里不再详细叙述(设置用户名:root,密码:root) 2 安装 navicat 软件(mysql安装教程也有写如何安装),\ 这里也不再叙述如何安装 3 您的电脑需要安装 java 并配置好环境,保证在命令行输入 `java -version` 命令能出现下面的信息,开源链接也有我以前写的\ 关于配置java环境的教程 ![输入图片说明](https://img1.imgtp.com/2023/06/12/8NgIh8nQ.png) 4 将项目下载到本地(右上角有克隆下载按钮可以下载zip文件)并解压 5 打开 navicat 进入连接到本地的mysql,网上也有详细的教程, 连接好之后,\ 新建hellopra数据库(字符集 utf-8 )并在此数据库里\ 运行项目中的 hellopra.sql 数据库文件 6 找到 HelloPra-0.0.1-SNAPSHOT.jar 文件 (/HelloPra/target 里面),\ 在上方的文件路径框里输入 cmd 回车进入命令行 ![输入图片说明](https://img1.imgtp.com/2023/06/12/abzIHDR6.png) 7 输入命令 `java -jar HelloPra-0.0.1-SNAPSHOT.jar` 运行项目\ 前台页面访问网址: `http://localhost:8080/frontdesk/post/routeList?cid=18` \ 后台页面访问网址: `http://localhost:8080/backstage/admin_login` \ 后台默认登录账号: \ 用户名:xiaoshangkou 密码:xiaoshangkou ### **项目介绍_数据库表** 管理员实体类: >**//管理员\ @Data\ public class Admin {\  @TableId\  private Integer aid;//主键id\  private String email;//邮箱\  private String username;//名称\  private String password;//密码\  private String phoneNum;//电话号码\  private boolean status;//状态 true 可用 false禁用\  @TableField(exist = false)//不是数据库的字段\  private List roles;//角色集合(管理员可以拥有多个角色)\ }** 管理员 sql: >**CREATE TABLE `admin` (\ `aid` int(32) NOT NULL AUTO_INCREMENT,\ `email` varchar(50) DEFAULT NULL,\ `username` varchar(50) DEFAULT NULL,\ `password` varchar(255) DEFAULT NULL,\ `phoneNum` varchar(20) DEFAULT NULL,\ `status` tinyint(1) DEFAULT NULL,\ PRIMARY KEY (`aid`),\ UNIQUE KEY `email` (`email`)\ ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;** 管理员角色实体类: >**//管理员角色\ @Data\ public class Role {\  @TableId\  private Integer rid;//角色id \  private String roleName;//角色名称\  private String roleDesc;//角色介绍\  @TableField(exist = false)\  private List permissionList;//权限集合\ }** 管理员角色 sql: >**CREATE TABLE `role` (\ `rid` int(32) NOT NULL AUTO_INCREMENT,\ `roleName` varchar(50) DEFAULT NULL,\ `roleDesc` varchar(50) DEFAULT NULL,\ PRIMARY KEY (`rid`)\ ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;** 管理员角色权限实体类: >**//管理员角色权限\ @Data\ public class Permission {\  @TableId\  private Integer peid;//权限id\  private String permissionName;//权限名称\  private String permissionDesc;//权限详情\ }** 管理员角色权限 sql: >**CREATE TABLE `permission` (\ `peid` int(32) NOT NULL AUTO_INCREMENT,\ `permissionName` varchar(50) DEFAULT NULL,\ `permissionDesc` varchar(50) DEFAULT NULL,\ PRIMARY KEY (`peid`)\ ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;** 社区用户实体类: >**//社区用户 @Data\ public class Member {\  @TableId\  private Integer mid;//主键id\  private Integer uid;//用户组id\  private String username;//用户名\  private String password;//密码\  private String personalMessage;//个性签名\  private String sex;//性别\  private String profilePicture;//头像\  private String email;//邮箱\  private boolean active;//是否激活\  private String activeCode;//激活码\  private boolean blackHome;//是否进入小黑屋\  @TableField(exist = false)\  private List postList;//用户发表的帖子\  @TableField(exist = false)\  private List commentList;//用户发表的评论\  @TableField(exist = false)\  private UserGroup userGroup; //用户组\ }** 社区用户 sql: >**CREATE TABLE `member` (\ `mid` int(11) NOT NULL AUTO_INCREMENT,\ `username` varchar(100) NOT NULL,\ `password` varchar(255) DEFAULT NULL,\ `personalMessage` varchar(100) DEFAULT NULL,\ `sex` char(1) DEFAULT NULL,\ `profilePicture` varchar(200) DEFAULT NULL,\ `email` varchar(100) DEFAULT NULL,\ `active` tinyint(1) DEFAULT NULL,\ `activeCode` varchar(50) DEFAULT NULL,\ `blackHome` tinyint(1) DEFAULT NULL,\ `uid` int(11) DEFAULT NULL,\ PRIMARY KEY (`mid`),\ KEY `uid` (`uid`) USING BTREE,\ KEY `AK_nq_username` (`username`) USING BTREE,\ CONSTRAINT `uid` FOREIGN KEY (`uid`) REFERENCES `user_group` (`uid`)\ ) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8;** ### **项目介绍_项目结构** 待更新