# file_management_sys
-------------------------
## 前言
file_management_sys项目希望完成一个文件共享系统,采用现阶段公司常用技术来实现,例如Redis, RocketMQ, Mybatis, Nginx等。总的目的是用来熟悉这些技术。
## 目录
- [前言](#前言)
- [项目介绍](#项目介绍)
- [项目演示](#项目演示)
- [用户端演示](#用户端演示)
- [管理端演示](#管理端演示)
- [技术选型](#技术选型)
- [后端技术](#后端技术)
- [前端技术](#前端技术)
- [环境搭建](#环境搭建)
- [开发工具](#开发工具)
- [开发环境](#开发环境)
- [搭建具体环境](#搭建具体环境)
- [相关学习文档](#相关学习文档)
- [数据库设计](#数据库设计)
- [前后端接口文档](#前后端接口文档)
## 项目介绍
file_management_sys 是一个文件共享系统,包括前端文件展示系统和后台管理系统,基于SpringBoot + MyBatis实现。前端文件展示系统包括文件分类和展示界面,文件搜索和文件上传等模块。后台管理系统包含文件管理,权限管理等模块。
## 项目演示
### 用户端演示
![image](https://github.com/ShuaiMou/file_management_sys/blob/master/project_resource/user.gif)
### 管理端演示
![image](https://github.com/ShuaiMou/file_management_sys/blob/master/project_resource/admin.gif)
## 技术选型
### 后端技术
| 技术 | 说明 | 官网 | demo地址|
| :---------- | :---------- | :---------- |:---------- |
| Spring Boot | 容器 | https://spring.io/projects/spring-boot | |
| MyBatis | ORM 框架 | https://mybatis.org/mybatis-3/zh/index.html | https://github.com/ShuaiMou/spring-boot-module/tree/master/studySpringBootMybatis|
| MySQL | 关系型数据库 | https://dev.mysql.com/doc/refman/8.0/en/ | |
| RocketMQ | 消息队列 | https://rocketmq.apache.org/docs/quick-start/ | |
| Redis | 分布式缓存 | https://redis.io/ | https://github.com/ShuaiMou/spring-boot-module/tree/master/studySpringBootRedis|
| Elasticsearch | 搜索引擎 | https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html | |
| Nginx | 负载均衡 | https://www.nginx.com/ | |
| LogBack | 日志 | http://logback.qos.ch/manual/index.html | |
| Lombok | 简化对象封装工具| https://github.com/rzwitserloot/lombok | |
|Swagger |生成前后端api接口文档 | https://swagger.io/specification/v2/ | https://github.com/ShuaiMou/spring-boot-module/tree/master/studySpringBootSwagger|
### 前端技术
| 技术 | 说明 | 官网 |
| :---------- | :---------- | :---------- |
| Vue |前端框架 | https://vuejs.org/v2/guide/ |
| Vuex |前端缓存处理 | https://vuex.vuejs.org |
| vue-router |通过路由构建单页面项目 |https://router.vuejs.org|
| iView |组件模版 | https://iviewui.com/ |
## 环境搭建
初始搭建均基于阿里云ECS服务器的centos系统。
### 开发工具
| 工具 | 说明 | 官网 |
| :---------- | :---------- | :---------- |
| IDEA | 开发IDE | https://www.jetbrains.com/idea/ |
| Redis Desktop Manager | redis客户端连接工具 |https://redisdesktop.com/download |
| MySQL workbench | MySQL 可视化工具 | https://www.mysql.com/cn/products/workbench/|
| GitHub | 版本管理工具 | https://github.com |
| Maven | 项目管理 |https://maven.apache.org|
|PostMan | 接口请求测试 |https://www.getpostman.com/|
|Gifox | gif录制工具 |https://gifox.io/|
|Axure | 原型设计工具 | https://www.axure.com/|
|bootschool | banner 生成工具 |https://www.bootschool.net/ascii|
|MarkDown | MarkDown语法说明 |http://www.markdown.cn|
|RoeketMQ 可视化控制台 |在子项目rocketmq-console里面,打包mvn clean package -Dmaven.test.skip=true|https://github.com/apache/rocketmq-externals|
### 开发环境
| 工具 | 版本 | 官网 |
| :---------- | :---------- | :---------- |
|SpringBoot | 2.2.4 | https://spring.io/projects/spring-boot |
| JDK | 1.8 | https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html |
| Mysql | 5.7.26 |https://www.mysql.com/|
| Redis | 4.0.10 | https://redis.io|
| Nginx | 待定 | https://www.nginx.com|
| Elasticsearch | 6.8.3 |https://www.elastic.co/cn/elasticsearch|
| RocketMQ | 4.6.0 | https://rocketmq.apache.org |
### 搭建具体环境(docker搭建,基于centos 7)
首先安装docker,启动docker systemctl start docker.
注意: 当各个容器启动后,在服务器端的安全组一定要配置相应端口,不然外部访问不到。
- 1.安装 MySQL
1.1 拉取最新镜像 docker pull centos/mysql-57-centos7
1.2 运行一个容器 docker run -id --name=mysql-57-centos7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=717294 centos/mysql-57-centos7
- 2.安装 Redis 4.0.10
2.1 拉取redis镜像 docker pull redis
2.2 运行redis容器 docker run -id --name=redis -p 6379:6379 redis
- 3.安装 RocketMQ 4.6.0
- 4.安装 nginx1.16.1
4.1 安装相关环境
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
4.2 获取 安装包 wget -c https://nginx.org/download/nginx-1.16.1.tar.gz
4.3 解压安装
tar -zxvf nginx-1.16.1.tar.gz
cd nginx-1.16.1
./configure
make install
4.4 运行
cd /usr/local/nginx/sbin/
./nginx
## 相关学习文档
|技术 | 说明 |网址 |
|:--------- |:---------- |:--------- |
|Spring Data Elasticsearch | spring data整合 Elasticsearch | https://github.com/spring-projects/spring-data-elasticsearch/blob/master/README.adoc|
|RocketMQ | 阿里中间件团队博客 |http://jm.taobao.org/2017/01/12/rocketmq-quick-start-in-10-minutes/|
## 数据库设计
[MySQL数据库生成代码,数据库设计待完善..](https://github.com/ShuaiMou/file_management_sys/blob/master/project_resource/fms_tables.sql)
## 前后端接口文档
[swagger-bootstrap-ui-前后端api接口文档](https://github.com/ShuaiMou/file_management_sys/blob/master/project_resource/api.md)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
包括前端文件展示系统和后台管理系统,基于SpringBoot + MyBatis实现。前端文件展示系统包括文件分类和展示界面,文件搜索和文件上传等模块。后台管理系统包含文件管理,权限管理等模块。 Java是一种高性能、跨平台的面向对象编程语言。它由Sun Microsystems(现在是Oracle Corporation)的James Gosling等人在1995年推出,被设计为一种简单、健壮、可移植、多线程、动态的语言。Java的主要特点和优势包括以下几个方面: 跨平台性(Write Once, Run Anywhere): Java的代码可以在不同的平台上运行,只需编写一次代码,就可以在任何支持Java的设备上执行。这得益于Java虚拟机(JVM),它充当了代码和底层硬件之间的中介。 面向对象: Java是一种纯粹的面向对象编程语言,支持封装、继承和多态等面向对象的概念。这使得Java编写的代码更加模块化、可维护和可扩展。 多线程支持: Java内置了对多线程的支持,允许程序同时执行多个任务。这对于开发需要高并发性能的应用程序(如服务器端应用、网络应用等)非常重要。 自动内存管理(垃圾回收): Java具有自动内存管理机制,通过垃圾回收器自动回收不再使用的对象,使得开发者不需要手动管理内存,减轻了程序员的负担,同时也减少了内存泄漏的风险。
资源推荐
资源详情
资源评论
收起资源包目录
file_management_sys 是一个文件共享系统,包括前端文件展示系统和后台管理系统,基于SpringBoot + MyBatis实现。前端文件展示系统包括文件分类和展示界面,文件搜索和文件上传等模块。后台管理系统包含文件管理,权限管理等模块。.zip (67个子文件)
SJT-code
project_resource
user.gif 19.19MB
admin.gif 10.55MB
fms_tables.sql 3KB
api.md 16KB
pom.xml 4KB
src
test
java
com
practice
file_management_sys
mapper
FileMapperTest.java 969B
FileManagementSysApplicationTests.java 358B
main
resources
trigger.txt 12B
templates
test.html 163B
banner.txt 2KB
logback-spring.xml 2KB
config
application-test.properties 0B
application.properties 65B
email.properties 136B
application-pre.properties 0B
application-dev.properties 2KB
java
com
practice
file_management_sys
mapper
FileMapper.java 2KB
UserMapper.java 692B
enumClass
Membership.java 113B
StateType.java 3KB
intercepter
SessionIntercepter.java 2KB
controller
UserLoginController.java 2KB
FileController.java 4KB
PersonalInformationController.java 1KB
UserRegisterController.java 3KB
utils
EncriptionUtils.java 851B
RedisUtils.java 20KB
GenerateVerificationCodeUtils.java 564B
JsonUtils.java 1023B
UUIDUtils.java 204B
service
UserService.java 474B
MailService.java 201B
serviceImpl
FileServiceImpl.java 3KB
UserServiceImpl.java 3KB
MailServiceImpl.java 2KB
FileService.java 380B
FileManagementSysApplication.java 644B
exception
GlobalExceptionHandler.java 2KB
BusinessException.java 470B
logs
LogAspectHandler.java 3KB
listener
FMSSessionListener.java 903B
domain
JsonData.java 2KB
FMSFile.java 745B
User.java 879B
config
JackSonConfig.java 1KB
RedisConfig.java 5KB
CustomWebMvcConfig.java 864B
Swagger2Config.java 2KB
LICENSE 11KB
.idea
vcs.xml 180B
misc.xml 707B
target
classes
config
email.properties 136B
com
practice
file_management_sys
FileManagementSysApplication.class 973B
mapper
UserMapper.class 1KB
controller
UserRegisterController.class 4KB
UserLoginController.class 3KB
utils
JsonUtils.class 2KB
service
MailService.class 365B
serviceImpl
UserServiceImpl.class 3KB
MailServiceImpl.class 3KB
UserService.class 728B
domain
User.class 6KB
JsonData.class 4KB
test-classes
com
practice
file_management_sys
FileManagementSysApplicationTests.class 705B
file_management_sys.iml 20KB
.gitignore 103B
README.md 8KB
共 67 条
- 1
资源评论
JJJ69
- 粉丝: 6134
- 资源: 5674
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功