Facture Ninja version 5 est là ! Nous avons repris les meilleures parties de la version 4 et ajouté les fonctionnalités les plus demandées pour créer une application de facturation pas comme les autres. Consultez la chaîne YouTube Invoice Ninja pour vous tenir au courant ou essayez la démo maintenant.
Choisissez votre configuration
Toutes les fonctionnalités Pro et Enterprise de l'application hébergée sont incluses dans le code source disponible. Nous proposons une licence en marque blanche de 30 $ par an pour supprimer la marque Invoice Ninja des parties de l'application destinées aux clients.
Remarque : les options auto-hébergées prennent en charge les applications de bureau et mobiles.
En plus du guide d'installation officiel d'Invoice Ninja - Auto-hébergé, nous avons quelques commandes pour vous.
git clone --single-branch --branch v5-stable https://github.com/invoiceninja/invoiceninja.git
cp .env.example .env
composer i -o --no-dev
Veuillez noter : votre APP_KEY dans le fichier .env est utilisée pour crypter les données. Si vous la perdez, vous ne pourrez pas exécuter l'application.
Exécutez si vous souhaitez charger des exemples de données, n'oubliez pas de configurer .env
php artisan migrate:fresh --seed && php artisan db:seed && php artisan ninja:create-test-data
Pour exécuter le serveur Web
php artisan serve
Accédez à (remplacez localhost par le domaine approprié)
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
En plus du guide officiel du développeur Invoice Ninja, nous vous soutenons avec quelques informations.
L'API et le portail client ont été développés en utilisant Laravel. Si vous souhaitez contribuer à ce projet, la connaissance de Laravel est essentielle.
Lors de l'inspection des fonctionnalités de l'API, le meilleur endroit pour commencer serait dans le fichier routes/api.php qui décrit tous les points de terminaison de l'API disponibles. Les méthodes du contrôleur décrivent ensuite tous les points d'entrée dans chaque domaine de l'application, à savoir InvoiceController / QuoteController.
La requête API moyenne suit ce chemin dans l'application.
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 );
}
Ici par exemple nous stockons une nouvelle facture, nous transmettons la demande validée ainsi qu'une usine dans le référentiel de factures où elle est traitée et enregistrée.
La facture retournée passe ensuite par sa classe de service (app/Services/Invoice) où différentes actions sont effectuées.
Un événement est ensuite déclenché qui informe les auditeurs de l'application (app/Providers/EventServiceProvider) qui effectuent des sous-tâches non bloquantes.
Enfin la facture est transformée (app/Transformers/) et renvoyée en réponse via Fractal.
En utilisant la configuration rapide de l'hébergement décrite ci-dessus, vous pouvez rapidement commencer à créer votre environnement de développement. Au lieu d'utiliser
composer i -o --no-dev
utiliser
composer i -o
Cela fournit les outils de développement, notamment phpunit, qui permet d'exécuter la suite de tests.
Si vous envisagez de contribuer au référentiel principal, veuillez ajouter des tests pour de nouvelles fonctionnalités/modifications. Cela augmentera considérablement les chances que votre PR soit accepté
De plus, si vous prévoyez des ajouts pour le référentiel principal, vous souhaiterez peut-être en discuter d'abord avec nous sur Slack où nous pouvons vous aider avec toute information technique et vous fournir des conseils.
Si vous rencontrez un problème de sécurité avec cette application, veuillez envoyer un e-mail à [email protected]. Veuillez suivre les procédures de divulgation responsable si vous détectez un problème. Pour plus d’informations sur la divulgation responsable, veuillez lire ici.
Invoice Ninja est publié sous la licence Elastic.
Voir LICENCE pour plus de détails.