Invoice Ninja Version 5 ist da! Wir haben die besten Teile von Version 4 übernommen und die am häufigsten nachgefragten Funktionen hinzugefügt, um eine unvergleichliche Rechnungsanwendung zu erstellen. Besuchen Sie den YouTube-Kanal von Invoice Ninja, um sich auf den neuesten Stand zu bringen, oder testen Sie jetzt die Demo.
Wählen Sie Ihr Setup
Alle Pro- und Enterprise-Funktionen der gehosteten App sind im Quellcode enthalten. Wir bieten eine White-Label-Lizenz im Wert von 30 $ pro Jahr an, um das Invoice Ninja-Branding aus kundenorientierten Teilen der App zu entfernen.
Hinweis: Die selbst gehosteten Optionen unterstützen die Desktop- und mobilen Apps.
Zusätzlich zum offiziellen Invoice Ninja – Self-Hosted Installation Guide haben wir ein paar Befehle für Sie.
git clone --single-branch --branch v5-stable https://github.com/invoiceninja/invoiceninja.git
cp .env.example .env
composer i -o --no-dev
Bitte beachten Sie: Ihr APP_KEY in der .env-Datei wird zum Verschlüsseln von Daten verwendet. Wenn Sie diesen verlieren, können Sie die Anwendung nicht ausführen.
Wenn Sie Beispieldaten laden möchten, führen Sie es aus. Denken Sie daran, .env zu konfigurieren
php artisan migrate:fresh --seed && php artisan db:seed && php artisan ninja:create-test-data
Zum Ausführen des Webservers
php artisan serve
Navigieren Sie zu (localhost durch die entsprechende Domäne ersetzen)
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
Zusätzlich zum offiziellen Invoice Ninja – Entwicklerhandbuch stehen wir Ihnen mit einigen Einblicken zur Seite.
Die API und das Kundenportal wurden mit Laravel entwickelt. Wenn Sie zu diesem Projekt beitragen möchten, ist eine Vertrautheit mit Laravel unerlässlich.
Wenn Sie die Funktionalität der API überprüfen, beginnen Sie am besten mit der Datei „routes/api.php“, die alle verfügbaren API-Endpunkte beschreibt. Die Controller-Methoden beschreiben dann alle Einstiegspunkte in jede Domäne der Anwendung, also InvoiceController/QuoteController
Die durchschnittliche API-Anfrage folgt diesem Pfad in die Anwendung.
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 );
}
Hier speichern wir beispielsweise eine neue Rechnung, wir übergeben die validierte Anfrage zusammen mit einer Fabrik an das Rechnungs-Repository, wo sie verarbeitet und gespeichert wird.
Die zurückgegebene Rechnung durchläuft dann ihre Serviceklasse (app/Services/Rechnung), in der verschiedene Aktionen ausgeführt werden.
Anschließend wird ein Ereignis ausgelöst, das Listener in der Anwendung (app/Providers/EventServiceProvider) benachrichtigt, die nicht blockierende Unteraufgaben ausführen
Abschließend wird die Rechnung transformiert (app/Transformers/) und als Antwort über Fractal zurückgegeben.
Mit dem oben beschriebenen Quick-Hosting-Setup können Sie schnell mit dem Aufbau Ihrer Entwicklungsumgebung beginnen. Anstatt zu verwenden
composer i -o --no-dev
verwenden
composer i -o
Dadurch werden die Entwicklertools einschließlich phpunit bereitgestellt, mit denen die Testsuite ausgeführt werden kann.
Wenn Sie erwägen, wieder zum Haupt-Repository beizutragen, fügen Sie bitte alle Tests für neue Funktionen/Änderungen hinzu. Dadurch erhöhen sich die Chancen, dass Ihre PR angenommen wird, erheblich
Wenn Sie außerdem Ergänzungen für das Haupt-Repository planen, können Sie dies zunächst mit uns auf Slack besprechen, wo wir Ihnen mit technischen Informationen und Ratschlägen behilflich sein können.
Wenn Sie ein Sicherheitsproblem bei dieser Anwendung feststellen, senden Sie bitte eine E-Mail an [email protected]. Bitte befolgen Sie die Verfahren zur verantwortungsvollen Offenlegung, wenn Sie ein Problem feststellen. Weitere Informationen zur verantwortungsvollen Offenlegung finden Sie hier.
Invoice Ninja wird unter der Elastic-Lizenz veröffentlicht.
Einzelheiten finden Sie unter LIZENZ.