Invoice Ninja 버전 5가 출시되었습니다! 우리는 버전 4의 가장 좋은 부분을 취하고 가장 많이 요청된 기능을 추가하여 다른 어떤 것과도 비교할 수 없는 송장 발행 애플리케이션을 만들었습니다. 최신 정보를 얻으려면 Invoice Ninja YouTube 채널을 확인하거나 지금 데모를 사용해 보세요.
설정을 선택하세요
호스팅된 앱의 모든 Pro 및 Enterprise 기능은 소스 사용 가능 코드에 포함되어 있습니다. 우리는 앱의 클라이언트 부분에서 Invoice Ninja 브랜드를 제거하기 위해 연간 30달러의 화이트 라벨 라이센스를 제공합니다.
참고: 자체 호스팅 옵션은 데스크톱 및 모바일 앱을 지원합니다.
공식 Invoice Ninja - 셀프 호스팅 설치 가이드 외에도 몇 가지 명령이 있습니다.
git clone --single-branch --branch v5-stable https://github.com/invoiceninja/invoiceninja.git
cp .env.example .env
composer i -o --no-dev
참고: .env 파일의 APP_KEY는 데이터를 암호화하는 데 사용됩니다. 이를 분실하면 애플리케이션을 실행할 수 없습니다.
샘플 데이터를 로드하려면 실행하세요. .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 엔드포인트를 설명하는 Routes/api.php 파일입니다. 그러면 컨트롤러 메소드는 애플리케이션의 각 도메인(예: 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)의 리스너에게 알리는 이벤트가 발생합니다.
마지막으로 송장은 변환(app/Transformers/)되고 Fractal을 통해 응답으로 반환됩니다.
위에서 설명한 빠른 호스팅 설정을 사용하면 개발 환경 구축을 빠르게 시작할 수 있습니다. 사용하는 대신
composer i -o --no-dev
사용
composer i -o
이는 테스트 스위트를 실행할 수 있는 phpunit을 포함한 개발자 도구를 제공합니다.
기본 저장소에 다시 기여하는 것을 고려하고 있다면 새로운 기능/수정 사항에 대한 테스트를 추가하세요. 이렇게 하면 PR이 승인될 확률이 크게 높아집니다.
또한 기본 저장소에 추가할 계획이 있는 경우 먼저 Slack에서 이에 대해 논의하고 기술 정보를 지원하고 조언을 제공할 수 있습니다.
이 애플리케이션에서 보안 문제를 발견한 경우 [email protected]으로 이메일을 보내주십시오. 문제를 발견한 경우 책임 있는 공개 절차를 따르십시오. 책임 있는 공개에 대한 자세한 내용은 여기를 참조하십시오.
Invoice Ninja는 Elastic 라이선스에 따라 출시됩니다.
자세한 내용은 라이센스를 참조하세요.