hillelcoren/invoice-ninja
Composer 安装命令:
composer create-project hillelcoren/invoice-ninja
包简介
Invoices, expenses & time-tracking built with Laravel
关键字:
README 文档
README
Invoice Ninja 5
Invoice Ninja Version 5 is here! We've taken the best parts of version 4 and added the most requested features to create an invoicing application like no other. Check the Invoice Ninja YouTube Channel to get up to speed, or try the Demo now.
Choose your setup
- Hosted: Our hosted version is a Software as a Service (SaaS) solution. You're up and running in under 5 minutes, with no need to worry about hosting or server infrastructure.
- Self-Hosted: For those who prefer to manage their own hosting and server infrastructure. This version gives you full control and flexibility.
All Pro and Enterprise features from the hosted app are included in the source-available code. We offer a $40 per year white-label license to remove the Invoice Ninja branding from client-facing parts of the app.
Get social with us
Documentation
- Invoice Ninja - API
- Invoice Ninja - Developer Guide
- Invoice Ninja - User Guide
- Invoice Ninja - Self-Hosted Installation Guide
Installation Options and Clients
Mobile Apps
Desktop Apps
Self-Hosted Server Installation
Note: The self-hosted options do support the desktop and mobile apps.
Recommended Providers
SDKs available for easier API consumption
[Advanced] Quick Hosting Setup
In addition to the official Invoice Ninja - Self-Hosted Installation Guide we have a few commands for you.
git clone --depth 1 -b v5.11.53 https://github.com/invoiceninja/invoiceninja.git cp .env.example .env composer i -o --no-dev
Note replace v5.11.53 with the latest tag version, you will also want to ensure that when performing updates, you use the latest tag version rather than a particular branch, ie v5-develop. This will ensure that you are not pulling in work in progress code.
Please Note: Your APP_KEY in the .env file is used to encrypt data, if you lose this you will not be able to run the application.
Run if you want to load sample data, remember to configure .env
php artisan migrate:fresh --seed && php artisan db:seed && php artisan ninja:create-test-data
To run the web server
php artisan serve
Navigate to (replace localhost with the appropriate domain)
http://localhost:8000/setup - To setup your configuration if you did not load sample data.
http://localhost:8000/ - For Administrator Logon
user: small@example.com
pass: password
http://localhost:8000/client/login - For Client Portal
user: user@example.com
pass: password
Developers Guide
In addition to the official Invoice Ninja - Developer Guide we've got your back with some insights.
App Design
The API and client portal have been developed using Laravel if you wish to contribute to this project familiarity with Laravel is essential.
When inspecting functionality of the API, the best place to start would be in the routes/api.php file which describes all of the availabe API endpoints. The controller methods then describe all the entry points into each domain of the application, ie InvoiceController / QuoteController
The average API request follows this path into the application.
- Middleware processes the request initially inspecting the domain being requested + provides the authentication layer.
- The request then passes into a Form Request (Type hinted in the controller methods) which is used to provide authorization and also validation of the request. If successful, the request is then passed into the controller method where it is digested, here is an example:
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); }
Here for example we are storing a new invoice, we pass the validated request along with a factory into the invoice repository where it is processed and saved.
The returned invoice then passes through its service class (app/Services/Invoice) where various actions are performed.
A event is then fired which notifies listeners in the application (app/Providers/EventServiceProvider) which perform non blocking sub tasks
Finally the invoice is transformed (app/Transformers/) and returned as a response via Fractal.
Developer environment
Using the Quick Hosting Setup describe above you can quickly get started building out your development environment. Instead of using
composer i -o --no-dev
use
composer i -o
This provides the developer tools including phpunit which allows the test suite to be run.
If you are considering contributing back to the main repository, please add in any tests for new functionality / modifications. This will greatly increase the chances of your PR being accepted
Also, if you plan any additions for the main repository, you may want to discuss this with us first on Slack where we can assist with any technical information and provide advice.
Credits
Want More?
Checkout our other projects here!
Security
If you find a security issue with this application, please send an email to contact@invoiceninja.com. Please follow responsible disclosure procedures if you detect an issue. For further information on responsible disclosure please read here.
License
Invoice Ninja is released under the Elastic License.
See LICENSE for details.
hillelcoren/invoice-ninja 适用场景与选型建议
hillelcoren/invoice-ninja 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 117 次下载、GitHub Stars 达 9.87k, 最近一次更新时间为 2015 年 06 月 10 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「crm」 「Tasks」 「invoice」 「laravel」 「invoices」 「subscriptions」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 hillelcoren/invoice-ninja 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 hillelcoren/invoice-ninja 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 hillelcoren/invoice-ninja 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A PHP client for the Salesforce SOAP API
Tasks for NetCommons Plugin
Easy invoice generation using Laravel Eloquent
Laravel MPdf : Easily generate PDF files with arabic support
Command-line utility for Vtiger CRM.
Szamlazz.hu integration for Laravel
统计信息
- 总下载量: 117
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 9876
- 点击次数: 30
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Elastic
- 更新时间: 2015-06-10
