Node Club 开源啦!(Nodejs)

Node Club 开源啦!(Nodejs)

无须多言。

Github 主页:NodeClub

跪求各位的pull requests!!!

79 回复

Node Club 开源啦!(Nodejs)

Node Club 是一个基于 Node.js 的开源社区平台。它可以帮助开发者快速搭建一个功能完善的社区网站。无论你是想要创建一个技术论坛、博客平台还是任何类型的在线社区,Node Club 都是一个非常不错的选择。

Github 主页

你可以在这里找到 Node Club 的完整源代码和文档:

功能介绍

Node Club 具有以下核心功能:

  1. 用户系统:用户注册、登录、修改个人信息等。
  2. 话题发布与管理:用户可以发布、编辑和删除话题。
  3. 分类管理:话题可以根据不同的分类进行归类。
  4. 评论系统:用户可以在话题下发表评论。
  5. 点赞与收藏:用户可以对话题和评论进行点赞和收藏。
  6. 权限管理:管理员可以管理用户权限和内容审核。

示例代码

以下是一些简单的示例代码,展示了如何使用 Node Club 的 API 进行基本操作:

用户注册
const axios = require('axios');

async function registerUser(username, email, password) {
    try {
        const response = await axios.post('http://localhost:3000/api/users', {
            username,
            email,
            password
        });
        console.log(response.data);
    } catch (error) {
        console.error(error.response ? error.response.data : error.message);
    }
}

registerUser('testuser', 'test@example.com', 'password123');
发布话题
async function postTopic(title, content, category) {
    try {
        const response = await axios.post('http://localhost:3000/api/topics', {
            title,
            content,
            category
        }, {
            headers: {
                Authorization: `Bearer ${your_token}`
            }
        });
        console.log(response.data);
    } catch (error) {
        console.error(error.response ? error.response.data : error.message);
    }
}

postTopic('测试话题', '这是一个测试话题的内容', '测试分类');

贡献指南

我们非常欢迎来自社区的贡献!如果你发现了问题或者有改进建议,请提交 issue 或者 pull request。你也可以直接通过 GitHub 提交代码,帮助我们改进 Node Club!

再次感谢大家的支持和贡献!


希望这些信息对你有所帮助!如果你有任何疑问或需要进一步的帮助,请随时联系我们。


嗯嗯嗯,没有失信! 立即学习,

超赞 !!

这个必须顶啊,学习学习

成功登录 了,刚手痒提交了一个Pull Requests 没经过本机测试,只保障了我能登录 ;)

好啊,学习

controllers/topic.js/get_topics_by_query() 里面获取topic列表先取array(_id), 再根据_id分N次调用get_topic_by_id()取单个topic,get_topic_by_id()里面又取了user,tag等,这样多了很多次数据库查询。 为什么需要这样设计?

学习啊,马上watch了。

本来以为跳票了呢 :D

赞一个!

好消息啊。

  1. 因为 get_topic_by_id 是先写成的,所以 get_topics_by_query 要调用它需先获取 id 列表
  2. 你会发现几乎每个对话题的请求都是需要话题的 authortags ,所以在 get_topic_by_id 里附带读取这些数据

哇卡卡卡,还真的是今天啊

坐了个13楼~ ,顶起

3个查询不是就可以做完了吗?假设每页10条记录,如果通过 get_topic_by_id 取每条数据相当于查询31次数据库?

pull request 第一人

53watch了,不错。

嗯 来顶一下!

发现一个致命的安全问题,中午解决。

这里的标签可以自己建立吗?还是系统就搞死了这么几个?

由管理员管理标签,详看源码。

安全 issue 已解决,代码已提交。

我想问下这个文件中nodeclub / controllers / topic.js

var models = require(’…/models’), Tag = models.Tag, Topic = models.Topic, TopicTag = models.TopicTag, TopicCollect = models.TopicCollect;

models.Tag models.TopicCollec 是如何加载的? 我看了下/models 下是一些文件,打开看了,但不太明白这里的 require(’…/models’), 是如何工作的,哪位大大能给解释下,感谢,我刚接触NodeJS。

models/index.js下面有exports这几个出来啊

nodejs与java,c#等的有点不一样,exports出来的就是“包”可见了,然后引用到这个包就可以引用到这些抛出来的“对象”,无论是方法还是对象,而像完全面向对象的java那些是类级别的,通过类去引用,所以在写nodejs时要规划好哪里往外exports,不然就会越来越乱。

不支持真的是,不是人了

夸张了点:)

注意 markdown 语法的使用

果断支持,呵呵

var check = require(‘validator’).check, sanitize = require(‘validator’).sanitize;   这个validator模块,我好像没有找到,谁知道的?

先安装依赖模块,在 nodeclub 目录里:npm install ./

昨天晚上下载了一个到虚拟机里面,ubuntu10,10.安装的时候告诉我缺少openssl,但是明明我装了的,后来又下载,又编译……,今天早上的时候,看到了干净的网站,只是自己注册了一个admin,就是不给我发个激活邮件。

很奇怪,我本来想两个帖子一起发的,就是来个“Forbidden”页面……于是文字图片分开发了

can’t wait to see!

不知道现在这个论坛注册完之后,是多少时间内激活有效,感觉应该一个小时或者是30分钟内,激活为有效,否测删除掉,不然有的注册了,可能没有收到激活邮件(各种原因),另外不知道可不可以支持重新发送激活邮件之类的。

暂时这里是个缺陷,要激活帐户需要假设不出错误的环境。

有个非常基础的问题,页面的框架是layout.html,这个页面是在什么时候被载入的呢?我看site.js render的是index啊。谢谢!

你会发现layout.html里有个<%- body %>render的内容会替换这个占位符。

学习学习

顶起 这么好的机会^ ^

学习nodejs的好范例。

好东西。

好像沒有明確宣告授權方式,在使用上有什麼限制嗎?

nice! thanks for sharing!

刚刚在github上面无意中竟然撞见了

代码的注释是否可以完善一下。

受益啊,太好了。

绝对的支持,学习的好东东,感谢分享 没有说明授权方式?

因为源码的conf里 邮件地址写的是别人的。 你可以改成自己的。对于目前你无法激活的问题。你可以直接update users表 把active字段设置为true即可

mongoose这个模块不支持windows吗?npm install mongoose 搞不定啊 Not compatible with your operating system or architecture

尽量不要用中文路径吧

一个小想法:验证用户是否登录(或者说权限的效验)是否应该写一个中间件,在需要的请求里面前面加入即可呢?

研究了两天,很不错哦!!!

不过关于修改依赖模块connect:if (req.body && req.body.user_action === ‘upload_image’) return next();这样不太好吧,直接包含了upload_image字段。要修改的话是否应该添加个灵活一点的方法?

enter image description here

我的也出现这个问题,应该怎么解决?

我也有这个问题 不过很奇怪后来换了一台机器就好了,原来那台机器上的错误也没管。

这个要支持一下。 非常感谢。

准备从这个实例去研究nodejs,Thx

Error: Cannot find module 'mongoose’ 这个错误好烦人,折腾我一天了。 大家都是怎么解决的,请赐教,谢谢大家。 npm install mongoose 提示成功! mongodb也处于启动状态,在mongo中也切换到node_club了 。 但是 使用node app.js启动还是包 找不到 ‘mongoose’

点击右上的作者“话题收藏”等均跳到对应自己的“话题收藏”等,这是个bug?

直接在项目的目录下,运行 $ npm install 就会自动安装依赖了。

enter image description here

需要修改配置?

在windows上 安装出现错误,楼主 有更新代码吗?

升级 “mongoose”: “3.5.8”,

源码地址打不开,请问最新源码地址是多少

非常非常好,不过这个要学习,还真不是一两周的事啊

注册了admin的账号,但是无法进入网站后台,怎么破?

我顶。

我是不是来晚了啊

Node Club 开源啦!(Nodejs)

概述

Node Club 是一个基于 Node.js 的开源社区系统。它提供了一个现代化、可扩展且易于定制的平台来构建你的社区网站。无论你是希望搭建技术论坛、兴趣小组还是其他形式的社区,Node Club 都是一个不错的选择。

GitHub 地址

你可以通过以下链接访问 Node Club 的 GitHub 主页:

功能介绍

  1. 用户管理:包括注册、登录、找回密码等功能。
  2. 话题管理:用户可以创建话题,并进行投票和评论。
  3. 分类管理:根据不同的主题对话题进行分类。
  4. 通知系统:用户可以接收关于话题更新、评论等的通知。
  5. API 支持:提供丰富的 RESTful API,便于第三方应用集成。

示例代码

如果你想快速启动并运行 Node Club,可以通过以下命令克隆仓库并安装依赖:

git clone https://github.com/muyuan/nodeclub.git
cd nodeclub
npm install

然后,使用以下命令启动 Node Club:

npm start

默认情况下,Node Club 运行在 http://localhost:3000

如何贡献

Node Club 是一个开源项目,我们非常欢迎你的贡献。你可以通过以下几种方式帮助我们:

  1. 提交 Bug 报告:如果你发现任何问题或 bug,请在 GitHub 上创建一个 Issue。
  2. 提交 Pull Requests:如果你希望修复某个 Bug 或添加新功能,请先 Fork 项目并在你的分支上进行修改。完成后发送 Pull Request。

总结

Node Club 是一个功能强大且灵活的社区系统,可以帮助你快速搭建自己的社区平台。我们期待你的贡献,让 Node Club 变得更好!


希望这份说明能够帮助大家更好地了解和使用 Node Club。如果你有任何问题或建议,请随时在 GitHub 上与我们联系!

回到顶部