基于Nodejs开发的社区系统-sumorio

基于Nodejs开发的社区系统-sumorio

  1. 为何有sumorio
  • 写了这个题目,忽然觉得有点标题党的嫌疑,这个所谓的社区系统目前还没有开发完成,只是把第一部分功能放出来。

  • 从1月份开始接触到nodejs(好吧,苦逼的不懂js不懂css的伤不起)就产生了很浓厚的兴趣。

  • nodeclub开源后尝试着在上面写一些觉得应该有的功能,后来因为实在对mongodb以及orm思想 的不感冒以及对mysql的熟悉,索性换了底层重新写。目前的第一阶段的成果就是sumorio,废话少说,介入正题。

  1. sumorio简介
  • nodeclub目前是不提供个人文章分类和管理功能的,所以我从这部分开始做,放几张图吧。

  • 下面这个图是否似曾相识?是的,样式直接从nodeclub身上扒下来的,小剽窃,因为不懂css,咳咳。。。 enter image description here

  • 分类下的文章 enter image description here

  • 具体的文章 enter image description here

  1. 后续
  • 赶紧的,谁来帮我整整css和js吧,hold不住了,怎能让一个做后端的天天折腾css和html。
  • 真正动手用nodejs写一个东西出来才发现这玩意儿太好用了,一边熟悉它的特性一边动手练习,对初学者来说,sumorio还是可以看下的。
  • 通过nodejs去学以前非常讨厌的js,发现js这门语言还是挺神奇的,你可以随便摆弄她,尝试让她很方便地做各种事情,以前还真是错怪她了。。。
  • sumorio还会继续开发下去,把现在没完善的社区功能补上。
  • 开始用nodejs开发其他应用。

26 回复

基于Nodejs开发的社区系统-sumorio

1. 为何有sumorio

写这个题目时,我忽然觉得有些标题党的嫌疑,因为这个所谓的社区系统目前还没有完全开发完成,只是把第一部分功能放出来了。从今年1月份开始接触Node.js(好吧,苦逼的我不懂JS,不懂CSS,真是伤不起),我就产生了浓厚的兴趣。Node.club开源后,我尝试着在上面添加一些我觉得应该有的功能,但由于我对MongoDB以及ORM思想不感冒,再加上我对MySQL的熟悉,索性换了个底层重新写。目前第一阶段的成果就是Sumorio。废话少说,让我们切入正题。

2. Sumorio简介

Sumorio的主要目的是为了弥补Node.club在个人文章分类和管理方面的不足。以下是一些截图:

  • 首页分类

    // 示例代码:获取分类列表
    const Category = require('../models/Category');
    
    app.get('/categories', async (req, res) => {
      try {
        const categories = await Category.find();
        res.render('categories', { categories });
      } catch (error) {
        console.error(error);
        res.status(500).send('Internal Server Error');
      }
    });
    
  • 分类下的文章

    // 示例代码:获取某个分类下的文章列表
    const Article = require('../models/Article');
    
    app.get('/category/:id', async (req, res) => {
      try {
        const articles = await Article.find({ categoryId: req.params.id });
        res.render('articles', { articles });
      } catch (error) {
        console.error(error);
        res.status(500).send('Internal Server Error');
      }
    });
    
  • 具体的文章页面

    // 示例代码:获取具体的文章详情
    app.get('/article/:id', async (req, res) => {
      try {
        const article = await Article.findById(req.params.id);
        res.render('article', { article });
      } catch (error) {
        console.error(error);
        res.status(500).send('Internal Server Error');
      }
    });
    

3. 后续

赶紧的,谁来帮我整整CSS和JS吧,我真的是hold不住了。作为一个后端开发者,天天折腾CSS和HTML确实不是我的强项。真正动手用Node.js写一个东西出来,才发现这玩意儿太好用了。一边熟悉它的特性一边动手练习,对于初学者来说,Sumorio还是可以看看的。

通过Node.js去学以前非常讨厌的JavaScript,我发现这门语言还是挺神奇的。你可以随便摆弄它,尝试让它方便地做各种事情,以前还真是错怪她了。Sumorio还会继续开发下去,把现在未完善的社区功能补上。开始用Node.js开发其他应用。

希望这个简单的介绍对你有所帮助!


wow,八错不错,不留个地址给参观参观

附上github地址:sumorio

这个真心不错。支持啊。赶紧去围观。。

多提意见啊,社区性的功能怎么做我还在考虑中。现在正在做全站的topic功能,下个版本放出的时候功能就会完善点了。

我之前大部分时间是花在对样式风格的调整上了。做后端写前端各种不适应。。还是得学习才行。 推荐一个我个人认为蛮不错的node网站。www.csser.com。整站基于nodejs,跟nodeclub走的路线图是不一样的风格。

问答。。。

有没有演示啊?

呃,没地方放演示

在学前端,然后现在在接触js,近一个月都会自己学习,网上的恩师和我说过node.js,听说很神奇,所以来学习,如果有可以帮忙的可以说,尽量,基本前端页面还是可以做得来的!

csser.com 这个代码有没有开源的?

我会html/css ,略懂JS, 但我clone你的项目后,在本地无法run起.求指教

错误提示: init pool start… init pool end…

node.js:201 throw e; // process.nextTick error, or ‘error’ event on first tick ^ Error: Cannot find module 'express/node_modules/connect/node_modules/formidable’ at Function._resolveFilename (module.js:334:11) at Function._load (module.js:279:25) at Module.require (module.js:357:17) at require (module.js:368:17) at Object.<anonymous> (/Users/icolin/node/sumorio/controller/upload.js:5:11) at Module._compile (module.js:432:26) at Object…js (module.js:450:10) at Module.load (module.js:351:31) at Function._load (module.js:310:12) at Module.require (module.js:357:17)

PS: 我安装了N个模块, msql express connect formidable 等等,package.json提到的我都安装了. 悲催了

I met the same issue with you today, I found one solution at last, copy the connect directory to express recursively.Good luck!

为什么会出现

node.js:201 throw e; // process.nextTick error, or ‘error’ event on first tick ^ TypeError: Object function app(req, res){ app.handle(req, res); } has no method 'register’ at Function.<anonymous> (/Applications/XAMPP/xamppfiles/htdocs/xampp/public/github/sumorio/app.js:13:9) at Function.configure (/Applications/XAMPP/xamppfiles/htdocs/xampp/node_modules/express/lib/application.js:418:61) at Object.<anonymous> (/Applications/XAMPP/xamppfiles/htdocs/xampp/public/github/sumorio/app.js:10:5) at Module._compile (module.js:444:26) at Object…js (module.js:462:10) at Module.load (module.js:351:31) at Function._load (module.js:310:12) at Array.0 (module.js:482:10) at EventEmitter._tickCallback (node.js:192:40)

检查下是不是所有的模块都安装了

  1. 去查看你的express/nodemodules/connect/nodemodules/formidable目录有没有这个模块
  2. 然后要根据nodeclub的设置配置express/node_modules/connect/lib/middleware/csrf.js

nodemodules should be node_modules


– Table structure for user


DROP TABLE IF EXISTS user; CREATE TABLE user ( id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主键’, loginname varchar(30) DEFAULT ‘’ COMMENT ‘用户名’, pwd varchar(100) DEFAULT ‘’, email varchar(100) DEFAULT ‘’ COMMENT ‘邮箱’, create_at datetime DEFAULT ‘1970-01-01 00:00:00’, avatar varchar(255) DEFAULT ‘/img/avatar.png’, PRIMARY KEY (id), KEY index_user_id (id) ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

sumory前辈,黑色加粗的那段sql语句是做什么用的呢?查了手册好像木有这个用法呐

是在id上建索引啊

我最近整理下代码,sumorio马上出0.2版(这个版本基本上可以用了就,新加了网盘功能)

弄了一下 你的源码,恩,跑起来了。, 但是好像没有发布文章 是不是? 发布文章的 链接是什么啊?, 有没有一起开发这个的 QQ 群啊? 一起交流方便呢

你看看这个介绍 http://cnodejs.org/topic/4fab80a16715c7700e083e83 有发布文章啊,这是基本的。

我在登录的 时候 给我提示这样的错误,是怎么回事呢? 求解:

Error: getaddrinfo ENOENT
at errnoException (dns.js:31:11)
at Object.onanswer [as oncomplete] (dns.js:123:16)

楼主的qq多少啊

基于Nodejs开发的社区系统-sumorio

1. 为何有sumorio

这个题目确实有点标题党的嫌疑,因为sumorio目前还没有开发完成,只是把第一部分功能放出来了。不过,从1月份开始接触Node.js(好吧,苦逼的不懂JS不懂CSS的伤不起),我就产生了很浓厚的兴趣。NodeClub开源后,我尝试着在上面写一些我觉得应该有的功能。但由于我对MongoDB和ORM思想不感冒,以及对MySQL的熟悉,最终决定换一个底层重新写。目前第一阶段的成果就是sumorio。

2. sumorio简介

NodeClub目前没有提供个人文章分类和管理的功能,所以我从这部分开始做起。以下是几个功能展示:

  • 个人文章分类

    这个界面与NodeClub非常相似,主要是为了快速实现功能,所以直接使用了NodeClub的样式。

    <!-- 示例HTML代码 -->
    <div class="article-category">
      <h2>我的文章分类</h2>
      <ul>
        <li><a href="/category/technology">技术分享</a></li>
        <li><a href="/category/life">生活感悟</a></li>
      </ul>
    </div>
    
  • 分类下的文章

    这个页面展示了分类下的所有文章列表。

    <!-- 示例HTML代码 -->
    <div class="article-list">
      <h2>技术分享</h2>
      <ul>
        <li><a href="/post/1">如何高效学习JavaScript</a></li>
        <li><a href="/post/2">Node.js入门指南</a></li>
      </ul>
    </div>
    
  • 具体的文章

    这个页面展示了具体文章的详细内容。

    <!-- 示例HTML代码 -->
    <div class="article-detail">
      <h1>如何高效学习JavaScript</h1>
      <p>学习JavaScript是一条漫长的道路,但掌握正确的学习方法可以使这个过程更加高效...</p>
    </div>
    

3. 后续

希望有人能帮忙整理一下CSS和JS,因为作为一个后端开发者,我实在是Hold不住这些前端的东西。不过,用Node.js开发一个实际的应用让我发现这门技术真是太好了,通过动手实践和熟悉其特性,即使是初学者也能从中受益。Node.js让我对JavaScript有了全新的认识,发现这门语言非常灵活,可以用来完成很多有趣的事情。未来,我会继续完善sumorio,添加更多的社区功能,并开始用Node.js开发其他应用。

回到顶部