一个Node.js个人项目 jojoin.com 欢迎大神来拍砖

一个Node.js个人项目 jojoin.com 欢迎大神来拍砖

很赞,开源不…

43 回复

当然可以。以下是一个关于 “一个 Node.js 个人项目 jojoin.com 欢迎大神来拍砖” 的帖子内容示例:


一个Node.js个人项目 jojoin.com 欢迎大神来拍砖

大家好,

我最近完成了一个个人项目,名为 jojoin.com。这是一个基于 Node.js 的简单社交平台,允许用户创建和加入兴趣小组,进行讨论和分享。目前项目已经上线,欢迎大家试用并提供宝贵的意见和建议!

项目特点:

  • 用户认证:使用 JWT 进行用户认证。
  • 兴趣小组:用户可以创建小组,并邀请其他用户加入。
  • 消息通知:系统会发送通知给用户,提醒他们新的活动或消息。
  • API 文档:通过 Swagger 自动生成 API 文档。

技术栈:

  • 前端:React.js + Redux
  • 后端:Node.js + Express
  • 数据库:MongoDB
  • 身份验证:JWT
  • 测试:Mocha + Chai

开源不?

非常感谢大家的关注和支持!如果你对这个项目感兴趣,希望你能试用一下。目前项目还没有完全开源,但我非常欢迎你提出问题、建议和改进意见。如果项目足够成熟,我会考虑将其开源。

示例代码

以下是一些关键代码片段,展示如何使用 JWT 进行用户认证:

// app.js
const express = require('express');
const jwt = require('jsonwebtoken');
const User = require('./models/User');

const app = express();

app.use(express.json());

// 用户登录接口
app.post('/login', async (req, res) => {
    const { username, password } = req.body;
    
    // 假设这里有一个函数 checkUserCredentials 可以检查用户名和密码是否正确
    if (!await checkUserCredentials(username, password)) {
        return res.status(401).send({ message: 'Invalid credentials' });
    }
    
    // 生成 JWT token
    const token = jwt.sign({ username }, 'secret-key', { expiresIn: '1h' });

    res.send({ token });
});

// 需要认证的路由
app.get('/protected', verifyToken, (req, res) => {
    res.send('This is a protected route!');
});

function verifyToken(req, res, next) {
    const bearerHeader = req.headers['authorization'];
    
    if (typeof bearerHeader !== 'undefined') {
        const bearer = bearerHeader.split(' ');
        const bearerToken = bearer[1];
        
        jwt.verify(bearerToken, 'secret-key', (err, authData) => {
            if (err) {
                res.sendStatus(403);
            } else {
                req.authData = authData;
                next();
            }
        });
    } else {
        res.sendStatus(403);
    }
}

module.exports = app;

希望这个项目能对你有所启发,也期待你的反馈和建议!


希望这个示例能够满足你的需求。如果有任何进一步的问题或需要更详细的解释,请随时告诉我!


嗯,不错, 注册是不是可能改成以weibo qq登录? 下拉时能不能自动加载更多?

linkcloud 你买的空间,多少一年?

不错,喜欢楼主这种分享的精神!!!

挺赞的。 Node开发的一个好处就是有大量包可以用,lz硬是不用,那不是了解不到Node的精髓鸟~

挺 不错的。

目前有把它的框架放在Github上的打算,可是框架的剥离又是一个很大的工作啊~

可以加载更多啊 ,不过要手动点击一下按钮,可以改成自动加载。

weibo qq 登录无法收集的用户的邮件地址,不能发送消息了 :(

以前是70一个月,现在涨的96了 ,1G内存 50G磁盘 1m网络 比阿里云 盛大云什么 厚道多了

嘿嘿嘿 分享还推广了一把 一石多鸟~

互相学习啦

就是要独立写,来锻炼自己的能力嘛 ~

thx. :)

很不错啊,楼主开源吧。

不错啊,感觉很酷

可以说赞不?必须的

这不就是那个medium的博客么?

那就推荐给你的朋友吧 :)

额 就是它 !

基本能用吧 离“酷”还太远。

框架开源了,但wiki文档还不全,地址:https://github.com/myworld4059/CodeTank

框架开源了,但wiki文档还不全,地址:https://github.com/myworld4059/CodeTank

框架开源了,但wiki文档还不全,地址:https://github.com/myworld4059/CodeTank

框架开源了,但wiki文档还不全,地址:https://github.com/myworld4059/CodeTank

原来君鉴就是你做的呀!非常赞!我现在也在做自己的网站,之前就用bootstrap3最基本的页面风格,当时觉得还能用,自从看到君鉴之后我就受不了自己原来那个屎ui了,重做页面了……

额 多谢抬爱了。 网站一直没火起来,到现在还是特别“小众”。不过,就是这种安静的,深邃的氛围也挺不错的,就是没有完全激发我改进它的动力。

正如你所说,框架和其他的还没有分离开!而且… 文档还得补全了 包括demo/example的部分 也最好有!嘻嘻 github上follow u!

界面很清新呀,交互也不错. (发表文章那块的markdown预览交互效果不错啊,贡献给社区吧骚年~!社区的这个功能太拙了

你是社区的开发者/管理者?

照片很帅!!

上一次在知乎上看到这个,还是 PHP 没想到今天又看到,改版了!

说,你是不是抄简书的?

我们抄的是http://medium.com

简书没到精髓

不错。。字体很有感觉

很高兴看到你的 Node.js 个人项目 jojoin.com。开源是一种非常好的分享精神,能够让更多人参与到项目的改进中来。如果你希望更多人参与进来并提供反馈,可以考虑将项目开源。

以下是一个简单的 Node.js 开源项目结构示例,以及如何在 GitHub 上创建一个开源项目的基本步骤:

项目结构示例

jojoin.com/
├── README.md
├── LICENSE
├── .gitignore
├── package.json
├── server.js
└── public/
    └── index.html

示例代码

server.js - 基本的 HTTP 服务器

const http = require('http');
const fs = require('fs');
const path = require('path');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  if (req.url === '/') {
    fs.readFile(path.join(__dirname, 'public', 'index.html'), (err, data) => {
      if (err) {
        res.writeHead(500);
        return res.end('Error loading index.html');
      }
      res.writeHead(200, { 'Content-Type': 'text/html' });
      res.end(data);
    });
  } else {
    res.writeHead(404);
    res.end('Not Found');
  }
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

public/index.html - 简单的 HTML 页面

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Hello World</title>
</head>
<body>
  <h1>Welcome to jojoin.com!</h1>
</body>
</html>

如何在 GitHub 上创建开源项目

  1. 在 GitHub 上创建一个新的仓库(Repository)。
  2. 将本地项目文件添加到仓库中。
  3. 初始化 Git 并提交代码。
  4. 推送到 GitHub 远程仓库。

开源项目注意事项

  • README.md 文件应包含项目介绍、安装指南、使用方法等。
  • 使用合适的 License 文件(如 MIT 或 Apache 2.0)。
  • 添加 .gitignore 文件以忽略不必要的文件(如 node_modules)。
  • 使用 package.json 文件管理依赖和脚本。

开源不仅能让更多人受益,也能加速项目的迭代和发展。欢迎更多的贡献和建议!

回到顶部