node package manager
Stop wasting time. Easily manage code sharing in your team. Create a free org »

forim

forim NPM version Build Status Dependency Status Coverage percentage

一个基于node的论坛, im系统, 简称forim

介绍

Node Forum Im 是基于node club修改的社区系统。 未来将会移除全部的nodeclub代码。 实例布署在forum.webfullstack.com

目标

一个只提供API的论坛IM系统,支持cors,支持多客户端访问,支持Socket.io。

  1. 支持个人与个人的交流
  2. 支持围绕话题讨论,即标签化话题,去中心化
  3. 支持订阅自己喜欢的话题
  4. 开发者可以自己维护
  5. 全面的API设计,基于EGG API
  6. 企业服务中立,优先支持用户多的

技术栈

服务器: Node.js, C/C++

服务器依赖的技术栈:

  1. egg framework(整体框架)
  2. egg messager(消息服务) (已完成,支持邮件与短信)
  3. egg api(API规范) (已经完成 v0.1)
  4. file cloude uploader(云上传) (支持本地磁盘,阿里云,AWS,Cloudinary,可以很方便的扩展)
  5. node form validator(输入校验) (支持大多数类型的校验,同时支持递归校验)
  6. waterline-paginator(分页方案) (基于waterline,可以很方便实现分页的模块)
  7. errorable (错误方案) (一套通用的API错误方案,可以方便的定义,统一错误,同时支持多国语言i18n)

客户端:

  1. Web: angular 2.x+
  2. 手机: PhoneGap/Cordova + Web
  3. 桌面: Electron.js + Web

支持与交流

QQ群:312685910

最新改进

使用gulp取代Makefile
删除Loader,使用gulp-less来生成结果文件
重新组织了目录结构
添加代码覆盖率
优化了代码,添加ESLINT

支持Nodejs版本

全部主要版本(V6,V5,V4,V0.12,V0.10) V0.10将慢慢不再支持。

参数配置

forim是基于参数配置的论坛系统,所以在安装前需要进行参数配置。然后直接下载源码运行即可。 配置参数在lib/config.js文件里可以找到。

能shell里需要配置: FORIM_XXX 这样的参数。

安装部署

  1. 安装 Node.js[必须] MongoDB[必须] Redis[必须]
  2. 启动 MongoDB 和 Redis
  3. $ npm i 安装 node weixin forum 的依赖包
  4. $ gulp 确保各项服务都正常
  5. $ node lib/index.js
  6. visit http://localhost:3000
  7. 完成

测试

$ gulp

跑测试

$ gulp test    # 测试代码
$ gulp less    # 生成less结果
 

跑覆盖率测试

$ gulp coveralls

说明

由于差异过大,本项目的源代码可能不会再与原项目合并

License

Apache-2.0 © calidion
MIT (旧代码)