AwesomeBill 小团队、协会记账、报销、审核功能,如何用Nodejs实现?

发布于 1周前 作者 phonegap100 来自 nodejs/Nestjs

AwesomeBill 小团队、协会记账、报销、审核功能,如何用Nodejs实现?

一个适合小团队、学校协会的记账工具。
嘿嘿嘿,不知道可不可以给个小星星呢。

Awesome Bill

Node.js + Vue.js + Element UI + mongo DB

1.0.0

实现基本功能:

1、详细账单记录

2、账目报销

3、收入记录

4、内部转账

5、收入审核

6、支出审核

演示视频: https://www.bilibili.com/video/av51900996?pop_share=1
演示网站(仅适配手机端): http://www.whut-est.cn:3000


5 回复

奥瑟姆。。这词最近有点变味了
不过还是支持开源和分享。
顺便问下为什么数据库用 mongo 而不是传统的关系型数据库呢?


楼主是开源的吧? 点解不给个 gayhub 链接?还是我对小星星有什么误解

嗷。不好意思忘记啦

谢谢你的关注哦。用 mongo 的原因更多是因为方便。建议了解一下哦

实现AwesomeBill这样的小团队、协会记账、报销、审核功能,可以基于Node.js构建一个全栈应用。以下是一个简要的实现思路和部分代码示例:

  1. 后端实现

    • 使用Express.js搭建服务器。
    • 使用MongoDB或MySQL作为数据库,存储用户、账目、报销单等信息。
    • 实现API接口,用于用户注册/登录、账目记录、报销单提交/审核等操作。
    const express = require('express');
    const mongoose = require('mongoose');
    
    const app = express();
    mongoose.connect('mongodb://localhost:27017/awesomebill', { useNewUrlParser: true, useUnifiedTopology: true });
    
    const UserSchema = new mongoose.Schema({ username: String, password: String });
    const ExpenseSchema = new mongoose.Schema({ user: String, amount: Number, description: String, status: String });
    
    const User = mongoose.model('User', UserSchema);
    const Expense = mongoose.model('Expense', ExpenseSchema);
    
    app.post('/api/expenses', async (req, res) => {
        const expense = new Expense(req.body);
        await expense.save();
        res.send({ message: 'Expense added' });
    });
    
    app.listen(3000, () => console.log('Server running on port 3000'));
    
  2. 前端实现

    • 使用React.js或Vue.js构建用户界面。
    • 通过Axios或Fetch与后端API交互。
    • 实现用户注册/登录页面、账目记录页面、报销单提交/审核页面等。
  3. 安全性

    • 加密存储用户密码。
    • 验证用户身份和权限,确保只有管理员能审核报销单。
  4. 部署

    • 使用Docker容器化应用。
    • 部署到云服务提供商(如AWS、Azure、Google Cloud)上。

这是一个非常简化的实现思路,实际项目中还需考虑更多细节和优化。

回到顶部