/jackblog-api-express

Jackblog API Server Express版, 个人博客系统, 基于RESTful架构, 使用Node.js, Express, MongoDB, Redis, Token Auth, 七牛云存储等.

Primary LanguageJavaScriptMIT LicenseMIT

jackblog api express版

build status Coverage Status Dependency Status devDependency Status

简介

Jackblog 是使用 Node.js + MongoDB + Redis + 其它客户端框架开发的个人博客系统,前后端分离,仿简书模板.
服务端有: express 版 , koa 版
客户端有: angular1.x 版 , angular2.x 版 , react 版 , vue 版
移动端有: react native 版, ionic2.0 版

此为服务端Express版, 为客户端提供api.

环境准备

node.js 4.0+
mognodb 3.0+
redis 2.8+

配置

  • 配置文件路径: ./server/config/env, 可将私有配置放入./server/config/env/private 下.
  • 七牛云存储配置
  qiniu:{
    app_key:"app_key",
    app_secret:"app_secret",
    domain:"domain",          //七牛配置域名
    bucket:"bucket"           //七牛空间名称  
  },

开发

$ git clone git@github.com:jackhutu/jackblog-api-express.git
$ cd jackblog-api-express
$ npm install
$ gulp serve

经亲测windows上开发没有任何问题, 测试环境如下:

  • windows 7 64位
  • mongodb 3.2.6
  • redis 2.8.24
  • Python 2.7
  • Microsoft Visual Studio C++ 2013

1, node-gyp
一定要全局安装好node-gyp, npm i -g node-gyp
这个库依赖python 2.7, vs2013. c++编译环境一定要配置好, 不然很多包都装不了.

2, redis
redis for windows 只支持64位的操作系统

线上布署

$ pm2 start process.json

使用docker容器部署所需的要环境变量

MONGO_PORT_27017_TCP_ADDR
MONGO_USERNAME
MONGO_PASSWORD
REDIS_PORT_6379_TCP_ADDR
REDIS_PORT_6379_TCP_PORT
REDIS_PASSWORD
QINIU_APP_KEY
QINIU_APP_SECRET
QINIU_APP_DOMAIN
QINIU_APP_BUCKET
GITHUB_CLIENT_ID
GITHUB_CLIENT_SECRET
GITHUB_CALLBACK_URL
WEIBO_CLIENT_ID
WEIBO_CLIENT_SECRET
WEIBO_CALLBACK_URL
QQ_CLIENT_ID
QQ_CLIENT_SECRET
QQ_CALLBACK_URL

测试

$ gulp test

配合客户端测试的测试模式

$ gulp serve:test

License

MIT