项目简介
本项目是功能完善的文件存储系统,提供文件存储、访问、分享和删除等核心功能。采用微服务架构,后端运用SpringCloud技术栈,存储结合MySQL、Redis和FastDFS等技术。前端使用Vue3和ElementUI,实现前后端分离。系统运维基于Docker容器构建,具备高可用、高并发、易拓展和可监控的特点。
项目的主要特性和功能
- 文件存储与管理:支持文件上传、下载、删除和重命名。
- 文件分享:用户可生成文件分享链接并设置有效期。
- 用户认证与授权:提供登录、注册、权限管理和角色分配功能。
- 高可用与高并发:采用微服务架构和分布式存储技术保障性能。
- 数据库读写分离:通过Redis和MySQL实现,提升系统性能。
- 图形验证码:增强系统安全性。
- 邮件服务:支持发送邮件验证码和通知邮件。
安装使用步骤
环境准备
- Java环境:安装JDK 1.8或更高版本。
- 数据库:安装并配置MySQL和Redis。
- 分布式文件系统:安装并配置FastDFS。
- 前端环境:安装Node.js和Vue CLI。
- 容器环境:安装Docker和Docker Compose。
项目构建与运行
- 复制项目:
bash cd filebox
- 配置文件:根据实际环境配置
application.yml
和application-dev.yml
等,设置数据库、Redis、FastDFS连接信息。 - 构建后端服务:
bash mvn clean install
- 启动后端服务:
bash java -jar filebox-auth-service/target/filebox-auth-service.jar java -jar filebox-file-service/target/filebox-file-service.jar java -jar filebox-mail-service/target/filebox-mail-service.jar java -jar filebox-user-service/target/filebox-user-service.jar
- 启动前端服务:
bash cd filebox-frontend npm install npm run serve
- 启动Docker容器:
bash docker-compose up -d
访问系统
- 前端访问:打开浏览器,访问
http://localhost:8080
进入前端界面。 - API文档:访问
http://localhost:8080/swagger-ui.html
查看API接口文档。
使用说明
- 用户注册与登录:首次使用需注册,注册后用用户名和密码登录。
- 文件上传与下载:登录后可上传文件并通过链接下载。
- 文件分享:选择文件生成分享链接,设置有效期后分享。
- 用户管理:管理员可管理用户信息、权限和角色分配。
注意事项
- 数据库备份:定期备份MySQL数据库。
- 系统监控:使用Prometheus和Grafana等工具监控系统。
- 安全配置:加密或妥善保管系统配置文件中的敏感信息。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】