¡La versión 5 de Invoice Ninja ya está aquí! Tomamos las mejores partes de la versión 4 y agregamos las funciones más solicitadas para crear una aplicación de facturación como ninguna otra. Consulte el canal de YouTube de Invoice Ninja para ponerse al día o pruebe la demostración ahora.
Elige tu configuración
Todas las funciones Pro y Enterprise de la aplicación alojada están incluidas en el código fuente disponible. Ofrecemos una licencia de marca blanca de $30 por año para eliminar la marca Invoice Ninja de las partes de la aplicación orientadas al cliente.
Nota: Las opciones autohospedadas son compatibles con las aplicaciones móviles y de escritorio.
Además de la guía de instalación autohospedada oficial de Invoice Ninja, tenemos algunos comandos para usted.
git clone --single-branch --branch v5-stable https://github.com/invoiceninja/invoiceninja.git
cp .env.example .env
composer i -o --no-dev
Tenga en cuenta: Su APP_KEY en el archivo .env se utiliza para cifrar datos; si la pierde, no podrá ejecutar la aplicación.
Ejecute si desea cargar datos de muestra, recuerde configurar .env
php artisan migrate:fresh --seed && php artisan db:seed && php artisan ninja:create-test-data
Para ejecutar el servidor web
php artisan serve
Navegue hasta (reemplace localhost con el dominio apropiado)
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
Además de la guía oficial para desarrolladores de Invoice Ninja, te respaldamos con algunas ideas.
La API y el portal del cliente se han desarrollado utilizando Laravel. Si desea contribuir a este proyecto, es esencial estar familiarizado con Laravel.
Al inspeccionar la funcionalidad de la API, el mejor lugar para comenzar sería el archivo route/api.php que describe todos los puntos finales de la API disponibles. Luego, los métodos del controlador describen todos los puntos de entrada a cada dominio de la aplicación, es decir, InvoiceController / QuoteController.
La solicitud API promedio sigue esta ruta hacia la aplicación.
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 );
}
Aquí, por ejemplo, estamos almacenando una nueva factura, pasamos la solicitud validada junto con una fábrica al repositorio de facturas donde se procesa y guarda.
La factura devuelta luego pasa por su clase de servicio (aplicación/Servicios/Factura) donde se realizan varias acciones.
Luego se activa un evento que notifica a los oyentes en la aplicación (aplicación/Providers/EventServiceProvider) que realizan subtareas sin bloqueo.
Finalmente, la factura se transforma (aplicación/Transformers/) y se devuelve como respuesta a través de Fractal.
Con la configuración rápida de alojamiento descrita anteriormente, puede comenzar rápidamente a construir su entorno de desarrollo. en lugar de usar
composer i -o --no-dev
usar
composer i -o
Esto proporciona herramientas de desarrollo, incluido phpunit, que permite ejecutar el conjunto de pruebas.
Si está considerando contribuir nuevamente al repositorio principal, agregue cualquier prueba para nuevas funciones/modificaciones. Esto aumentará en gran medida las posibilidades de que su RP sea aceptado.
Además, si planea agregar algo al repositorio principal, es posible que desee discutir esto con nosotros primero en Slack, donde podemos ayudarlo con cualquier información técnica y brindarle asesoramiento.
Si encuentra un problema de seguridad con esta aplicación, envíe un correo electrónico a [email protected]. Siga los procedimientos de divulgación responsable si detecta un problema. Para obtener más información sobre divulgación responsable, lea aquí.
Invoice Ninja se lanza bajo la licencia Elastic.
Consulte LICENCIA para obtener más detalles.