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