Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xiedacon/nodeclub-koa
use koa to rewrite nodeclub
https://github.com/xiedacon/nodeclub-koa
koa koa2
Last synced: 3 months ago
JSON representation
use koa to rewrite nodeclub
- Host: GitHub
- URL: https://github.com/xiedacon/nodeclub-koa
- Owner: xiedacon
- License: mit
- Created: 2017-04-02T06:45:24.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-09-20T13:17:26.000Z (5 months ago)
- Last Synced: 2024-11-02T03:52:46.055Z (3 months ago)
- Topics: koa, koa2
- Language: JavaScript
- Homepage: https://github.com/cnodejs/nodeclub
- Size: 1.54 MB
- Stars: 17
- Watchers: 4
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nodeclub-koa
[![Build Status](https://travis-ci.org/xiedacon/nodeclub-koa.svg?branch=master)](https://travis-ci.org/xiedacon/nodeclub-koa)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
[![codecov](https://codecov.io/gh/xiedacon/nodeclub-koa/branch/master/graph/badge.svg)](https://codecov.io/gh/xiedacon/nodeclub-koa)
[![license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/xiedacon/nodeclub-koa/blob/master/LICENSE)使用koa2重写的nodeclub
### 使用
```
1. git clone https://github.com/xiedacon/nodeclub-koa.git
2. cd nodeclub-koa
3. npm install
4. docker-compose up
5. npm start
6. visit http://localhost:3000
7. done!
```### 中间件
##### 主要
* koa
* koa-bodyparser ==> ctx.request.body
* koa-session2 ==> ctx.session
* koa-router ==> 路由
* static中间件 ==> 自己写的,主要是为了加载less解析,具有压缩功能
* render中间件 ==> ctx[.response].render,自己写的,只做了简单的模板引擎适配
* 模板引擎 ==> 由 [art-template 3.1](https://github.com/aui/art-template/tree/3.1.0) 修改而来,与 [主版本](https://github.com/aui/art-template) 语法相差太大,以后升级 [TODO](#TODO)
* busboy ==> ctx.busboy
* bluebird ==> global.Promise
* log4js ==> 全局logger
* redis ==> cache
* mongoose ==> db
* config-lite ==> 根据环境加载config
* resolve-path ==> static中间件依赖##### 功能性中间件
* bcrypjs ==> password加密
* uuid ==> accessToken
* koa-csrf ==> csrf攻击防范
* koa-helmet ==> header
* koa-passport ==> github第三方登录
* passport-github##### 其它
* validator
* bytes
* colors
* moment
* multiline ==> 用于解决 ` 处理不了的文本
* koa-mount
* data2xml
* xmlbuilder##### 测试
* standard ==> 代码格式
* codecov ==> 测试覆盖率
* istanbul ==> 测试覆盖率
* mocha
* power-assert
* supertest
* mm ==> mock测试
* rewire ==> 私有方法测试### TODO
* [ ] 升级为 [art-template@4](https://github.com/aui/art-template)
* [x] 集成测试和测试覆盖率
* [x] 重构
* [ ] 尝试将busboy中间件改为Promise的形式
* [ ] 尝试将controller跟schema合为一层,形成```
- controller
- topic.js
- topic.schema.js或
- controller
- topic
- _id.js
- _id.schema.js
```### 协议
[MIT](https://github.com/xiedacon/nodeclub-koa/blob/master/LICENSE)