发票忍者第 5 版现已推出!我们采用了版本 4 的最佳部分,并添加了最需要的功能来创建独一无二的发票应用程序。查看 Invoice Ninja YouTube 频道以了解最新情况,或立即尝试演示。
选择您的设置
托管应用程序的所有专业版和企业版功能都包含在可用源代码中。我们提供每年 30 美元的白标许可证,用于从应用程序面向客户的部分中删除 Invoice Ninja 品牌。
注意:自托管选项确实支持桌面和移动应用程序。
除了官方 Invoice Ninja - 自托管安装指南外,我们还为您提供了一些命令。
git clone --single-branch --branch v5-stable https://github.com/invoiceninja/invoiceninja.git
cp .env.example .env
composer i -o --no-dev
请注意:.env 文件中的 APP_KEY 用于加密数据,如果丢失,您将无法运行该应用程序。
如果要加载示例数据,请运行,记得配置.env
php artisan migrate:fresh --seed && php artisan db:seed && php artisan ninja:create-test-data
运行网络服务器
php artisan serve
导航到(将 localhost 替换为适当的域)
http://localhost:8000/setup - To setup your configuration if you did not load sample data.
http://localhost:8000/ - For Administrator Logon
user: [email protected]
pass: password
http://localhost:8000/client/login - For Client Portal
user: [email protected]
pass: password
除了官方的发票忍者 - 开发人员指南外,我们还为您提供了一些见解。
API 和客户端门户是使用 Laravel 开发的,如果您希望为此项目做出贡献,那么熟悉 Laravel 至关重要。
检查 API 的功能时,最好的起点是在 paths/api.php 文件中,该文件描述了所有可用的 API 端点。然后控制器方法描述应用程序每个域的所有入口点,即 InvoiceController / QuoteController
一般的 API 请求都会沿着此路径进入应用程序。
public function store ( StoreInvoiceRequest $ request )
{
$ invoice = $ this -> invoice_repo -> save ( $ request -> all (), InvoiceFactory:: create ( auth ()-> user ()-> company ()-> id , auth ()-> user ()-> id ));
$ invoice = $ invoice -> service ()
-> fillDefaults ()
-> triggeredActions ( $ request )
-> adjustInventory ()
-> save ();
event ( new InvoiceWasCreated ( $ invoice , $ invoice -> company , Ninja:: eventVars ( auth ()-> user () ? auth ()-> user ()-> id : null )));
return $ this -> itemResponse ( $ invoice );
}
例如,我们正在存储一张新发票,我们将经过验证的请求与工厂一起传递到发票存储库中,并在其中进行处理和保存。
然后,返回的发票通过其服务类(应用程序/服务/发票),在其中执行各种操作。
然后触发一个事件,通知应用程序 (app/Providers/EventServiceProvider) 中执行非阻塞子任务的侦听器
最后,发票被转换(app/Transformers/)并通过 Fractal 作为响应返回。
使用上述快速托管设置,您可以快速开始构建您的开发环境。而不是使用
composer i -o --no-dev
使用
composer i -o
这提供了开发人员工具,包括允许运行测试套件的 phpunit。
如果您正在考虑向主存储库做出贡献,请添加新功能/修改的任何测试。这将大大增加你的PR被接受的机会
此外,如果您计划为主存储库添加任何内容,您可能需要首先在 Slack 上与我们讨论,我们可以在其中提供任何技术信息并提供建议。
如果您发现此应用程序存在安全问题,请发送电子邮件至 [email protected]。如果您发现问题,请遵循负责任的披露程序。有关负责任披露的更多信息,请阅读此处。
Invoice Ninja 是在 Elastic 许可证下发布的。
有关详细信息,请参阅许可证。