Skip to content

nexushubs/nexusdocs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NexusDocs

NexusDocs Server is a storage engine designed for storing public and private files, providing simple RESTful API to manage. By written in modern javascript (by the power of Babel) and packed with the popular framework express, we can take the advantage of async coding and good concurrent performance.

NexusDocs can be used stand-alone or a proxy to multiple popular cloud storage service, This could be very helpful when you are going to store files in different cloud service.

It is also integrated with utilities for generating image thumbnail (by high performance image processing tool sharp), or converting document files into PDF (by unoconv).

Docs

Documentation

Packages

This repository is a monorepo that we manage using Lerna. That means that we actually publish several packages to npm from the same codebase, including:

Package Version Docs Description
nexusdocs-server npm Server Doc NexusDocs Server
nexusdocs-client npm API Doc API Client SDK

Features

  • Providing uploading, downloading, viewing, searching, deletion operation of file (downloading and viewing will be redirected to provider URI).
  • Managing different type of files by namespaces, each namespace can be associated to its own provider and bucket.
  • File is uploading to NexusDocs, and then to the specified provider storage.
  • When client is requesting an resource for, NexusDocs checks authority, and then redirecting to safe URI.
  • Providing useful file format converting service, e.g. .doc to .pdf;
  • Stores file history versions (to be done in latest future).
  • Batch upload, download (supporting .zip, .rar, .tar.gz).
  • Creating and snapshot and later restore from it, need not worry about data loss.
  • Copying and moving files between different namespaces.
  • Extracting attachment from a email body, useful for auto file receiving feature.

Currently Supported Storage Drivers

Provider Driver Description
gridfs mongodb Internel used GridFS provider
alioss ali-oss The Aliyun OSS provider

License

MIT