开源一个Nodejs笔记以及todolist系统

开源一个Nodejs笔记以及todolist系统

a todolist and notes web system https://github.com/xrfinbupt/TodoListAndNotes 学习node js2个月多点,欢迎提出建议,共同提高

4 回复

当然可以!以下是一个简短的开源 Node.js 笔记及待办事项系统的说明,包括基本的功能和一些示例代码。

开源一个Node.js笔记及待办事项系统

大家好,

经过两个月的学习,我开源了一个基于 Node.js 的笔记及待办事项系统。该项目旨在帮助大家更好地管理日常任务和记录重要信息。项目托管在 GitHub 上,欢迎大家使用并提供反馈和改进建议!

项目链接

功能介绍

  1. 待办事项:

    • 添加、编辑和删除待办事项。
    • 标记任务为已完成或未完成。
  2. 笔记:

    • 创建、编辑和删除笔记。
    • 搜索笔记功能。

技术栈

  • 后端: Node.js + Express
  • 数据库: MongoDB (使用 Mongoose 进行数据建模)
  • 前端: EJS 模板引擎

示例代码

这是一个简单的示例,展示如何创建一个待办事项:

// routes/todo.js
const express = require('express');
const router = express.Router();
const Todo = require('../models/Todo');

// 添加待办事项
router.post('/add', async (req, res) => {
    const { title } = req.body;
    try {
        const newTodo = new Todo({ title });
        await newTodo.save();
        res.redirect('/');
    } catch (error) {
        console.error(error);
        res.status(500).send('Server Error');
    }
});

module.exports = router;

这是 Todo 模型的一个简化版本:

// models/Todo.js
const mongoose = require('mongoose');

const todoSchema = new mongoose.Schema({
    title: { type: String, required: true },
    completed: { type: Boolean, default: false }
});

module.exports = mongoose.model('Todo', todoSchema);

使用说明

  1. 克隆仓库到本地。
  2. 安装依赖:npm install
  3. 配置环境变量(如数据库连接字符串)。
  4. 启动应用:npm start

结语

这个项目只是一个起点,欢迎大家贡献代码、提出问题和建议。希望它能对你有所帮助!


希望这些内容和示例代码对你有帮助。如果有任何问题或需要进一步的详细信息,请随时联系我!


为何放了两个版本的jquery?

回头看一下,做的还是比较粗糙,目前将就用

开源一个Node.js笔记以及待办事项(Todo List)系统可以帮助初学者更好地理解和应用Node.js技术。以下是一个简单的示例,展示如何创建一个基本的Node.js Web应用,该应用包含笔记和待办事项功能。

技术栈

  • Node.js:后端运行时环境。
  • Express.js:Web应用框架。
  • MongoDB:数据库,存储笔记和待办事项数据。
  • EJS:模板引擎,用于生成HTML页面。

目录结构

todo-notes-app/
├── node_modules/
├── public/
│   ├── css/
│   └── js/
├── views/
│   ├── home.ejs
│   ├── todo.ejs
│   └── note.ejs
├── .gitignore
├── package.json
├── server.js
└── db.js

示例代码

server.js

const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const app = express();

// 连接MongoDB数据库
mongoose.connect('mongodb://localhost/todo_notes', { useNewUrlParser: true, useUnifiedTopology: true });

// 设置中间件
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.set('view engine', 'ejs');

// 引入路由
const todoRoutes = require('./routes/todos');
const noteRoutes = require('./routes/notes');

app.use('/todos', todoRoutes);
app.use('/notes', noteRoutes);

app.listen(3000, () => console.log('Server is running on port 3000'));

db.js

const mongoose = require('mongoose');

// 定义Todo模型
const TodoSchema = new mongoose.Schema({
    title: String,
    description: String,
    completed: Boolean
});

module.exports = mongoose.model('Todo', TodoSchema);

// 定义Note模型
const NoteSchema = new mongoose.Schema({
    title: String,
    content: String
});

module.exports = mongoose.model('Note', NoteSchema);

routes/todos.js

const express = require('express');
const router = express.Router();
const Todo = require('../db').Todo;

router.get('/', async (req, res) => {
    const todos = await Todo.find({});
    res.render('todo', { todos });
});

router.post('/', async (req, res) => {
    const todo = new Todo(req.body);
    await todo.save();
    res.redirect('/todos');
});

module.exports = router;

运行项目

  1. 克隆仓库到本地。
  2. 进入项目目录并安装依赖:
    npm install
    
  3. 启动服务器:
    npm start
    

总结

这个简单的示例展示了如何使用Node.js和Express构建一个基本的Web应用,并使用MongoDB作为数据库来存储数据。通过添加更多功能和优化,可以扩展此应用的功能。希望这能帮助大家更好地理解和使用Node.js。如果你有任何问题或建议,请随时反馈!

回到顶部