《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的Accountill使用 MongoDB、Express、React 和 Nodejs (MERN) 制作的全栈开源发票应用程序。
介绍
Accountill 使用 MERN 堆栈(MongoDB、Express、React 和 Nodejs)制作的全栈发票应用程序,专为自由职业者和小型企业设计,但可用于几乎任何类型的业务需求。使用此应用程序,您可以向您的客户发送精美的发票、收据、估算、报价、账单等。
主要特征
- 通过电子邮件发送发票、收据、估算、报价和账单
- 通过电子邮件生成和发送/下载 pdf 发票、收据、估算、报价和账单
- 设定截止日期
- 添加付款记录时自动更改状态
- 每张发票的付款历史记录部分,记录有关付款日期、付款方式和额外说明
- 记录发票的部分付款
- 清洁管理仪表板,用于显示所有发票统计信息,包括收到的总金额、待处理的总金额、最近的付款、已支付的总发票、未付和部分支付的发票总数
- 多用户注册
- 使用 jsonwebtoken (jwt) 和 Google auth 进行身份验证
使用的技术
客户端
- React JS
- Redux(用于管理和集中应用程序状态)
- React-router-dom(处理路由)
- Axios(用于进行 api 调用)
- Material UI & CSS Module(用于用户界面)
- React 简单的 Snackbar(显示成功/错误通知)
- Cloudinary(允许用户上传他们的企业标志)
- Apex 图表(显示付款历史)
- React-google-login(使用 Google 启用身份验证)
服务器
- JWT(用于身份验证)
- bcryptjs(用于数据加密)
- Nodemailer(用于通过电子邮件发送发票)
- html-pdf(用于生成发票 PDF)
数据库
MongoDB(MongoDB 地图集)
配置和设置
为了在本地运行这个项目,只需 fork 并克隆存储库或下载为 zip 并在您的计算机上解压缩。
- 在您喜欢的代码编辑器中打开项目。
- 转到终端 -> 新终端(如果您使用的是 VSCode)
- 将您的终端一分为二(在一个终端上运行客户端,在另一个终端上运行服务器)
在第一个终端
- cd client 并在客户端目录的根目录中创建一个 .env 文件。
- 提供以下凭据
REACT_APP_GOOGLE_CLIENT_ID = REACT_APP_API = http://localhost:5000REACT_APP_URL = http://localhost:3000
Docker
使用 docker很简单的网络。只需添加与 docker 关联的 .env 即可。
例如:
转到路径“server/.env”
DB_URL = mongodb://mongo:27017/archPORT = 5000SECRET = SMTP_HOST = SMTP_PORT = SMTP_USER = SMTP_PASS =
转到路径“client/.env”
REACT_APP_GOOGLE_CLIENT_ID = REACT_APP_API = http://localhost:5000REACT_APP_URL = http://localhost
并运行
docker-compose -f docker-compose.prod.yml buildAnd thendocker-compose -f docker-compose.prod.yml up
—END—
开源协议:MIT license
开源地址:https://github.com/panshak/accountill
版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除