![]() ![]() Using the Quick Hosting Setup describe above you can quickly get started building out your development environment. The returned invoice then passes through its service class (app/Services/Invoice) where various actions are performed.Ī event is then fired which notifies listeners in the application (app/Providers/EventServiceProvider) which perform non blocking sub tasksįinally the invoice is transformed (app/Transformers/) and returned as a response via Fractal. 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. $invoice = $ this-> invoice_repo-> save( $request-> all(), InvoiceFactory:: create(auth()-> user()-> company()-> id, auth()-> user()-> id)) Įvent( new InvoiceWasCreated( $invoice, $invoice-> company, Ninja:: eventVars(auth()-> user() ? auth()-> user()-> id : null))) Public function store( StoreInvoiceRequest $request) Some of its core features include auto-billing and recurring invoices, real-time invoice PDF creation, and bulk invoicing. If successful, the request is then passed into the controller method where it is digested, here is an example: Invoice Ninja is a free open-source billing and invoicing solution that allows you to create and send invoices, set up vendors and track expenses, and manage projects for free. ![]() 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.Middleware processes the request initially inspecting the domain being requested + provides the authentication layer.The average API request follows this path into the application. The controller methods then describe all the entry points into each domain of the application, ie InvoiceController / QuoteController 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 API and client portal have been developed using Laravel if you wish to contribute to this project familiarity with Laravel is essential. To setup your configuration if you did not load sample data. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |