社区网站体系 jsGen

jsGen是故纯JavaScript编写的新一代开源社区网站体系,主要用来搭建SNS类型的正式社区,对客户端AngularJS应用稍作改为不过改为多用户博客系统、论坛或者CMS内容管理体系。

jsGen基于NodeJS编服务器端程序,提供静态文件响应和REST
API接口服务;基于AngularJS编辑浏览器端应用,构建交互式网页UI视图;基于MongoDB编写数据存储系统。

jsGen基本原理:客户端浏览器发起访问请求后,NodeJS服务器先响应由AngularJS编写的Web应用,这个动用是由html模板、js和css静态文件组成。客户端取到AngularJS应用后,再由AngularJS与后台的NodeJS服务器API接口通信,根据用户请求交换数据,这些数量是纯json数据包,AngularJS获取到json数据包后还编译成相关页面展现给用户。因此,用户进入网站经常,只需要于首次等载入视图模板(html、js、css),其后的有请求都是纯json数据交换,不再包含html代码,大大减少了数码流量。

特点:
  1. 前方的WEB技术,前所未有的网站构架形态,前端和后端完全分开,前端由
    AngularJS 生成视图,后端由 Node.js 提供REST
    API数据接口和静态文件服务。只待改变前端AngularJS应用形态,即可成为论坛、多用户博客、内容管理网等。

  2. 用户数据、文章评价数、标签数据、分页缓存数据、用户操作间隔限时等都采用
    LRU缓存 ,降低数据库IO操作,同时确保同步创新数据。

  3. 上下端应用 json 数据包进行多少通信。文章、评论采用 Markdown
    格式编辑、存储,支持GitHub的GFM(GitHub Flavored
    Markdown),Markdown解析成HTML DOM并展开 XSS攻击
    过滤由前端AngularJS应用得。

  4. 用户帐号系统,关注(follow)用户/粉丝、邮箱验证激活、邮箱重置密码、SHA256加密安全登录、登录失败5不良锁定/邮箱解锁、用户标签、用户积分、用户权限等级、用户阅读时间线等功效。用户首页展现用户关注标签、关注作者的连锁的篇章(即用户感兴趣之稿子)。

  5. 文章/评论系统,文章、评论使用统一数据结构,均只是被评论、支持、反对、标记(mark,即收藏),当评论上自然原则(精彩评论)可机关升级也文章(独立出来,类branch功能),同样文章达到一定原则即可自行推荐。自动实时统计文章、评论热度,自动生成最新篇章列表、一周到内最好热文章列表、一周内最好热评列表、最近更新文章列表。强大的文章、评论列表分页导航功能,缓存每个用户的分页导航浏览记录。

  6. 标签系统,文章和用户都只是加以标签,可装文章、用户标签数量上限。用户通过标签设置好关注话题,文章通过标签形成分类。标签在用户编辑个人信息或编辑成文时自动生成,自动管理,也只是管理员后台管理。自动展现热门标签。

  7. 文章合集系统,作者、编辑、管理员可将一律层层有关文章结合合集,形成有章节大纲目录的电子书形态。教程文档、主题合集甚至小说连载等均只是由于合集系统形成。(待完成)

  8. 立内少信系统,提供在文章、评论中
    @用户之力量,重要短信发送邮件通知功能等。(待完成)

  9. 后台管理网,网站参数设置、缓存设置、网站运行信息、文章、评论、用户、标签、合集、站外短信等管理。

  10. Robot
    SEO系统
    ,由于AngularJS网页内容在客户端动态变化,对寻找引擎robot天生免疫。jsGen针对robot访问,在劳动器端动态生成robot专属html页面。搜索引擎Robot名称可于管理后台添加。

说明

jsGen
是为AngularJS中文社区支出之网站系统,测试版已达到线。
github地址:https://github.com/zensh/jsgen

AngularJS 開發實戰:解析 angular-seed
專案AngularJS架構與內容

from Will Huang

AngularJS入门教程

AngularJS学习笔记

AngularJS
最佳实践

下AngularJS构建大型Web应用

UI-Utils A utility package with no external
dependencies

AngularJS 有无发生瑕疵?MVVM
框架中生出于它重好的吧?

自家之web开发极强做:Play1+angularjs+bootstrap ++ (idea +
livereload)

AngularJS
開發框架介紹

如何讓Visual Studio 2012 支援 AngularJS 的
Intellisense

Connecting to Database Using
AngularJS

Angular.js example
application

5个示范带你学习AngularJS 

Learning AngularJS by Example – The Customer Manager Application
http://weblogs.asp.net/dwahlin/archive/2013/10/25/learning-angularjs-by-example-the-customer-manager-application.aspx

相关文章