A fatura Ninja versão 5 está aqui! Pegamos o melhor da versão 4 e adicionamos os recursos mais solicitados para criar um aplicativo de faturamento como nenhum outro. Verifique o canal do Invoice Ninja no YouTube para se atualizar ou experimente a demonstração agora.
Escolha sua configuração
Todos os recursos Pro e Enterprise do aplicativo hospedado estão incluídos no código-fonte disponível. Oferecemos uma licença de marca branca de US$ 30 por ano para remover a marca Invoice Ninja das partes do aplicativo voltadas para o cliente.
Observação: as opções auto-hospedadas oferecem suporte a aplicativos para desktop e móveis.
Além do Invoice Ninja – Guia de instalação auto-hospedado oficial, temos alguns comandos para você.
git clone --single-branch --branch v5-stable https://github.com/invoiceninja/invoiceninja.git
cp .env.example .env
composer i -o --no-dev
Observação: seu APP_KEY no arquivo .env é usado para criptografar dados; se você perdê-lo, não poderá executar o aplicativo.
Execute se quiser carregar dados de amostra, lembre-se de configurar .env
php artisan migrate:fresh --seed && php artisan db:seed && php artisan ninja:create-test-data
Para executar o servidor web
php artisan serve
Navegue até (substitua localhost pelo domínio apropriado)
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
Além do Invoice Ninja - Guia do desenvolvedor oficial, ajudamos você com alguns insights.
A API e o portal do cliente foram desenvolvidos utilizando Laravel se você deseja contribuir para este projeto a familiaridade com o Laravel é essencial.
Ao inspecionar a funcionalidade da API, o melhor lugar para começar seria no arquivo Routes/api.php que descreve todos os endpoints da API disponíveis. Os métodos do controlador descrevem então todos os pontos de entrada em cada domínio da aplicação, ou seja, InvoiceController / QuoteController
A solicitação média da API segue esse caminho até o aplicativo.
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 );
}
Aqui, por exemplo, estamos armazenando uma nova fatura, passamos a solicitação validada junto com uma fábrica para o repositório de faturas onde ela é processada e salva.
A fatura devolvida passa então pela sua classe de serviço (app/Serviços/Fatura) onde diversas ações são realizadas.
Um evento é então acionado e notifica os ouvintes no aplicativo (app/Providers/EventServiceProvider) que executam subtarefas sem bloqueio
Por fim a fatura é transformada (app/Transformers/) e retornada como resposta via Fractal.
Usando a configuração rápida de hospedagem descrita acima, você pode começar a construir seu ambiente de desenvolvimento rapidamente. Em vez de usar
composer i -o --no-dev
usar
composer i -o
Isso fornece ferramentas ao desenvolvedor, incluindo phpunit, que permite que o conjunto de testes seja executado.
Se você está pensando em contribuir com o repositório principal, adicione quaisquer testes para novas funcionalidades/modificações. Isso aumentará muito as chances de seu PR ser aceito
Além disso, se você planeja alguma adição ao repositório principal, você pode discutir isso conosco primeiro no Slack, onde podemos ajudar com qualquer informação técnica e fornecer conselhos.
Se você encontrar um problema de segurança com este aplicativo, envie um email para [email protected]. Siga os procedimentos de divulgação responsável se detectar um problema. Para obter mais informações sobre divulgação responsável, leia aqui.
O Invoice Ninja é lançado sob a licença Elastic.
Consulte LICENÇA para obter detalhes.