Document sharing and storage system with full-text search support.
In small teams, there is often a large number of collaborative documents. For example, we place various types of documents in cloud storage, SVN, and other software, but there is a problem with the inability to quickly search for content within the documents. Therefore, we have developed a dedicated knowledge base for storing documents such as PPT, Word, PNG, etc., which supports private deployment and retrieval.
Experience URL:https://alldocs.tech
administrator account:admin123, administrator password: admin123
all-docs (父工程)
├── all-docs-common # 公共模块:工具类、通用响应、异常处理
├── all-docs-domain # 领域模块:实体、值对象、领域服务
├── all-docs-infrastructure # 基础设施模块:MongoDB、Redis、Elasticsearch、MinIO 适配
├── all-docs-application # 应用模块:业务编排、DTO、Service
├── all-docs-api # API 模块:Controller、配置
└── all-docs-bootstrap # 启动模块:应用入口
| 组件 | 说明 |
|---|---|
| MinIO | S3 协议对象存储,替代 GridFS 存储文件(规划中) |
| MongoDB | 主数据库,存储文档元数据和用户信息 |
| Elasticsearch | 全文搜索引擎,支持中文分词检索 |
| Redis | 缓存层,提升热点数据访问性能 |
- Java: 17+
- Maven: 3.8+
- Node.js: 14+ (前端开发)
- IDE: IntelliJ IDEA
bootstrap -> api -> application -> infrastructure -> domain -> common
test on ubuntu 18.04 wait me for centos, thank you.
# clone project
git clone https://github.com/Jarrettluo/all-docs.git
# switch user to root
su root
# switch work directory
cd document-sharing-site && cd docker
# chmod
chmod +x auto.sh
# start shell script
sudo ./auto.sh
homepage
list of documents
page of search
upload page
user's info page
frontend project: https://github.com/Jarrettluo/all-documents-vue.git
backend project: https://github.com/Jarrettluo/document-sharing-site.git
We choose MongoDB as the primary database to store documents and files.
Backend:SpringBoot + MongoDB + ES
Frontend:Vue + axios
- Record the last page number read by the user 🌟
- Revamp the search page style 🌟🌟
- Allow users to bookmark documents 🌟
- Support video files 🌟
- Support permission management 🌟
- Support file tree 🌟
- Support Mobi files 🌟
read open issues 。
You can join our Wechat group if you are interested.
If you have any requirements for customization or private deployment, please feel free to contact me.
(Please add me on WeChat and kindly mention 'All Docs' in the request.)
ForkThis project- create a branch (
git checkout -b feature/AmazingFeature) - commit you feature (
git commit -m 'Add some AmazingFeature') - push the commit (
git push origin feature/AmazingFeature) - open a pull request
Read LICENSE file。
Jarrett Luo - luojiarui2@163.com
If you find the project valuable, your support and appreciation are welcome!
- YOU







