/spoos

Simple, Personal Oriented Object Storage.

Primary LanguageJavaScriptMIT LicenseMIT

spoos

Simple, Personal Oriented Object Storage. Based on Nodejs.
简单的,面向个人用户的对象存储服务。基于Nodejs开发。

项目简述

考虑到自己开发一些小项目的时候,对于一些文件上传的功能,由于数据库设计或是技术选型上的因素, 相关代码跟特定项目耦合密切,造成其他项目对这部分的代码无法复用,再次开发此类功能时需要进行重复开发,造成时间精力成本的浪费。 并且上传文件的目录没有统一的管理,不仅造成服务器文件资源的混乱,在应用迁移的时候也较为复杂。

而我们很多时候所关注的只是项目本身的功能,文件上传是很微小的地方但又不可或缺,所以将这一部分功能抽离,通过http接口提供独立的服务,即spoos,简单的面向个人用户的对象存储服务。

特性:

  • 多应用创建
  • 资源统一管理
  • 多种访问方式
  • 可零后端开发

技术选型:

  • Server: Node + Koa + MySQL
  • Client: React

部署运行

下载

git clone https://github.com/xuboxun/spoos.git
cd spoos
npm install
# 构建客户端
cd client
npm install
npm run build

导入数据库

# 创建数据库
mysql> create database spoos;
mysql> use spoos;

# 导入数据库
mysql> source [path to spoos.sql]

配置文件

参数 说明 默认值
dbHost 数据库主机地址 127.0.0.1
dbPort 数据库端口 3306
dbName 数据库名 spoos
dbUsername 数据库用户名 无,必填
dbPassword 用户名密码
appPort 应用端口 9981
storeDir 文件存储目录 无,必填
logDir 日志存储目录 无,必填
maxFileSize 上传最大文件大小 10M
pluginNginx 是否使用nginx插件 true
domain 使用nginx的域名

安装运行

# 初次使用请安装
npm run install

# 启动运行
npm run start

# 停止运行
npm run stop

如何使用

接口说明