Open‑Source Distributed File System Based on Spring Boot and Vue CLI – Features and Technical Overview
This article introduces an open‑source distributed file system built with Spring Boot and Vue CLI, detailing its MIT licensing, UI layout, file operations, multiple upload methods, online preview and editing capabilities, storage options, and the underlying backend and frontend technologies.
Open‑Source Distributed File System Overview
The project is a distributed file system developed with Spring Boot (backend) and Vue CLI@3 (frontend). It is fully open‑source under the MIT license, allowing developers to extend or use it as a scaffold for other projects.
Key Features
UI Layout : A left‑side classification bar (My Files, Recycle Bin, My Share) controls file categories; a top toolbar provides file actions, view‑mode toggles, and column settings; a breadcrumb navigation enables quick path jumps and manual entry.
View Modes : Supports List, Grid, and Timeline modes, with adjustable icon sizes in Grid and Timeline (currently for images only).
File Operations : Right‑click context menus and batch actions allow creating folders, moving files, renaming, deleting, copying, and batch downloading. Recycle Bin offers restore and permanent delete.
Upload Methods : Supports chunked upload for files and folders, drag‑and‑drop upload, and screenshot paste upload (Ctrl+V).
Online Preview & Editing : Provides Office (Word, Excel, PowerPoint) creation and editing via OnlyOffice, markdown editing via mavon‑editor, code editing for many languages via vue‑codemirror, and media preview for images, video, audio, PDF, JSON, TXT, HTML, etc.
Sharing : Files can be shared individually or in batches with optional expiration time and extraction code; shared links can be copied and viewed by others.
Search : ElasticSearch‑based fuzzy file‑name search.
Storage Options
The system supports multiple storage backends through the UFOP framework: local disk, Alibaba Cloud OSS, FastDFS, MinIO, Qiniu KODO, and others.
Technical Stack
Frontend : Element UI, Vue CLI@3, Node.js, Webpack.
Backend : Spring Boot, MyBatis, JPA, JWT.
Database : MySQL.
Data Structures : Recursive algorithms for tree traversal and insertion.
Additional Information
The documentation also includes mobile‑client support, detailed operation tables, and a disclaimer about content sources.
IT Architects Alliance
Discussion and exchange on system, internet, large‑scale distributed, high‑availability, and high‑performance architectures, as well as big data, machine learning, AI, and architecture adjustments with internet technologies. Includes real‑world large‑scale architecture case studies. Open to architects who have ideas and enjoy sharing.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.