我使用 MERN 堆栈创建了一个全栈开源发票应用程序
大家好,
这是我 2019 年加入这个论坛以来的第一篇帖子,很高兴与大家分享我几个月来一直在做的一个业余项目。在浏览过 Github 上的许多 Web 项目后,我注意到这些项目大多是电商或博客网站,所以我决定做一些不同的事情来挑战自己并提升我的软件开发技能。
我使用 MERN 技术栈(MongoDB、Express、React 和 Nodejs)构建了一个全栈发票应用程序。这款应用专为自由职业者和小型企业设计,但几乎可以满足任何类型的业务需求。使用此应用程序,您可以向客户发送漂亮的发票、收据、估价单、报价单、账单等。我已将源代码放在我的 GitHub 个人资料中,供任何感兴趣的人查看。您还可以在此项目的 Github 仓库中找到演示链接。
主要特点
- 通过电子邮件发送发票、收据、估价单、报价单和账单
- 通过电子邮件生成并发送/下载 PDF 发票、收据、估价单、报价单和账单
- 設定到期日。
- 添加付款记录时自动更改状态
- 每张发票的付款历史部分记录了付款日期、付款方式和附加说明。
- 记录发票的部分付款。
- 清理管理仪表板,显示所有发票统计信息,包括收到的总金额、待付款总额、最近付款、已付发票总额、未付发票总额和部分已付发票。
- 多用户注册。
- 使用 jsonwebtoken (jwt) 和 Google auth 进行身份验证
使用的技术
该项目是使用以下技术创建的。
客户
- React JS
- Redux(用于管理和集中应用程序状态)
- React-router-dom(处理路由)
- Axios(用于进行 API 调用)
- Material UI 和 CSS 模块(用于用户界面)
- React 简单 Snackbar(显示成功/错误通知)
- Cloudinary(允许用户上传他们的企业标识)
- Apex Charts(显示付款历史记录)
- React-google-login(使用 Google 启用身份验证)
服务器
- 表达
- 猫鼬
- JWT(用于身份验证)
- bcryptjs(用于数据加密)
- Nodemailer(用于通过电子邮件发送发票)
- html-pdf(用于生成发票 PDF)
数据库
MongoDB(MongoDB Atlas)
我已经编写了有关如何在本地运行该项目的详细文档,可以在此处的项目存储库的自述文件中找到。
我打算继续为这个应用程序添加更多功能,所以如果您发现这个项目很有趣,请给它一颗星,这会给我很大的鼓励。
文章来源:https://dev.to/panshak/i-created-a-full-stack-invoicing-application-using-the-mern-stack-27mp