Версия 5 Invoice Ninja уже здесь! Мы взяли лучшее из версии 4 и добавили наиболее востребованные функции, чтобы создать уникальное приложение для выставления счетов. Посетите канал Invoice Ninja на YouTube, чтобы освоиться, или попробуйте демо-версию прямо сейчас.
Выберите свою установку
Все функции Pro и Enterprise размещенного приложения включены в доступный исходный код. Мы предлагаем лицензию White Label стоимостью 30 долларов в год, позволяющую удалить брендинг Invoice Ninja из клиентских частей приложения.
Примечание. Варианты самостоятельного размещения поддерживают настольные и мобильные приложения.
В дополнение к официальному руководству по самостоятельной установке Invoice Ninja у нас есть для вас несколько команд.
git clone --single-branch --branch v5-stable https://github.com/invoiceninja/invoiceninja.git
cp .env.example .env
composer i -o --no-dev
Обратите внимание: ваш APP_KEY в файле .env используется для шифрования данных. Если вы потеряете его, вы не сможете запустить приложение.
Запустите, если вы хотите загрузить образцы данных, не забудьте настроить .env.
php artisan migrate:fresh --seed && php artisan db:seed && php artisan ninja:create-test-data
Чтобы запустить веб-сервер
php artisan serve
Перейдите к (замените localhost соответствующим доменом)
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
В дополнение к официальному руководству Invoice Ninja — Руководство для разработчиков, мы готовы поделиться с вами некоторыми ценными сведениями.
API и клиентский портал были разработаны с использованием Laravel, если вы хотите внести свой вклад в этот проект, знание Laravel имеет важное значение.
При проверке функциональности API лучше всего начать с файла маршруты/api.php, который описывает все доступные конечные точки API. Затем методы контроллера описывают все точки входа в каждый домен приложения, т.е. InvoiceController / QuoteController.
Средний запрос API следует по этому пути в приложение.
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 );
}
Здесь, например, мы сохраняем новый счет, передаем проверенный запрос вместе с фабрикой в хранилище счетов, где он обрабатывается и сохраняется.
Возвращенный счет затем проходит через свой класс обслуживания (приложение/Услуги/Счет), где выполняются различные действия.
Затем запускается событие, которое уведомляет прослушивателей в приложении (app/Providers/EventServiceProvider), которые выполняют неблокирующие подзадачи.
Наконец, счет преобразуется (приложение/Трансформеры/) и возвращается в качестве ответа через Fractal.
Используя описанную выше быструю настройку хостинга, вы можете быстро приступить к созданию среды разработки. Вместо использования
composer i -o --no-dev
использовать
composer i -o
Это предоставляет инструменты разработчика, включая phpunit, который позволяет запускать набор тестов.
Если вы планируете внести свой вклад в основной репозиторий, добавьте любые тесты для новых функций/модификаций. Это значительно увеличит шансы на то, что ваш пиар будет принят.
Кроме того, если вы планируете какие-либо дополнения к основному репозиторию, возможно, вы захотите сначала обсудить это с нами в Slack, где мы сможем предоставить любую техническую информацию и дать совет.
Если вы обнаружите проблему безопасности в этом приложении, отправьте электронное письмо по адресу [email protected]. Если вы обнаружите проблему, следуйте процедурам ответственного раскрытия информации. Дополнительную информацию об ответственном раскрытии информации можно найти здесь.
Invoice Ninja выпускается под лицензией Elastic.
Подробности см. в разделе ЛИЦЕНЗИЯ.