社区网站系统 jsGen

编程之家收集整理的这篇文章主要介绍了社区网站系统 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入门教程

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

总结

以上是编程之家为你收集整理的社区网站系统 jsGen全部内容,希望文章能够帮你解决社区网站系统 jsGen所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

相关文章

猜你在找的HTML5相关文章

概述 WeUI是一套同微信原生视觉体验一致的基础样式库,为微信Web开发量身设计,可以令用户的使用感知更加统一。包含button、cell、dialog、toast、article、icon等各式元素
在新的HTML5标准中,新增了一个非常重要的元素—canvas元素。使用该元素,可以在页面中直接进行各种复杂图形的制作。因此,如果使用该元素绘制统计图,比之前使用服务器端控件来生成统计图的方法更加具有
ReactJS通常也被称为"React",是一个刚刚在这场游戏中登场的新手。它由Facebook创建,并在2013年首次发布。Facebook认为React在处理SPA问题上可以成
又到了一年一度的中国春运,今年的网络订票(12306.cn)有好多的故事上演,下面几条是这两天的几条相关新闻。猎豹浏览器推出春运抢票版 九大优势轻松订票抢票插件风靡的恶果:农民工成购车票弱势群体123
Twitter发布了Flight项目。Flight是一个轻量级的、基于组件的JavaScript框架,可以将行为映射到DOM节点上。Twitter将其用在自己的Web应用上,Twitter基于MIT许
JayData 是一个标准的、跨平台的库和方法,用于访问和操作各种不同的数据源,最适合用于 JavaScript 和 HTML5 应用。 官方网站:http://jaydata.org/ ASP.NE
简洁优雅的 Twitter Bootstrap Metro 界面风格开发框架,是 GitHub 上的开源项目http://talkslab.github.com/metro-bootstrap 。Me
XB 软件公司最近发布了JavaScript UI 库Webix ,其中包含的组件超过45个,用这些组件可以构建跟HTML5 和 CSS3 兼容的程序,这些程序不仅能在个人电脑上运行,还能用在iOS、