Giter Club home page Giter Club logo

quick-doc-service's Introduction

quick-doc-service 快速文档共享服务

概要: 该服务是研究 Spring Framework 5.0 / Spring Boot 2.0 / Kotlin / MongoDB / TensorFlow 期间探索代码功能实现的一个简单文件共享服务系统。

功能说明:

  1. 用户登录,鉴权,目录分权限管理,共享设置,文件上传,下载,分类管理。

  2. 文件夹管理,批量下载, 账号及权限组管理。

  3. 批量打包下载仅下载权限可访问的资源, PDF及图片格式文件预览功能。

  4. 异步消息发送到Kafka中间件平台,监控用户登录状态,文件上传及下载信息。.

  5. Swagger UI文档化REST API接口。

  6. 引入TensorFlow引擎自动分析图片,增加图片标签

系统启动即可使用,无需数据初始化脚本,默认用户名/密码:admin/chenbichao

架构组成:

系统组件 开源产品
数据存储 MongoDB 3.6.2
容器框架 Spring Framework 5.0.7.RELEASE
系统框架 Spring Boot 2.0.3.RELEASE
状态监控 Spring Actuator
安全框架 Spring Security 5.0.6.RELEASE
实体Bean Kotlin 1.2
页面模板 Thymeleaf
WEB UI Bootstrap 4.1
WEB UI Core UI 1.0.10
WEB UI font-awesome 5.0.6
WEB UI LayUI 2.2.6
消息流 Kafka
REST API Springfox Swagger 2.8.0
REST API swagger-bootstrap-ui 1.7.2
系统构建 Gradle 4.9

待办:

人员配置和搜索

管理有权修改各账号密码

Word、excel预览

模板复制

定期备份问题

删除功能失效/删除提醒功能

  1. 启用 Spring Security 功能会屏蔽Spring Boot Actuator默认的Endpoint注册, 需在application.properties文件显示配置.

  2. csrf() 在Spring Security 内默认启用CSRF,会屏蔽POST提交任务, 通过csrf().disable()关闭CSRF。

  3. 后台管理功能:文件夹管理,用户管理,分类管理, @TODO, 文件夹编辑,修改密码

  4. 前端显示优化:文件夹图标,下载用图标替换按钮

  5. Android客户端: 自动同步本地图片文件

  6. 剥离TensorFlow图像分析模块,内存消耗问题。

Lombok 在 Java 9 环境导致编译异常

含Kotlin与Java代码的工程在MAVEN脚本编译过程会频繁出现找不到Kotlin类的错误,原因还未排查到。 目前可通过在Gradle环境下实现完整编译和打包不出错。

分离后端存储与前端web界面为2个独立工程, 后端存储可配合多项工程作共享存储用; 继续完善该文件服务器的其他功能,包括文件批量转储,移动端APP,文件自动同步功能等

界面截图

用户管理界面

文件访问界面

文件夹配置界面

REST API接口

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.