Skip to content

Latest commit

 

History

History
187 lines (126 loc) · 6.34 KB

README.md

File metadata and controls

187 lines (126 loc) · 6.34 KB

Paraşüt düzenli satış raporları aracı

Paraşüt API'ını kullanarak satış faturalarının aylık rapor olarak e-posta gönderilmesini sağlayan Laravel kütüphanesi

Framework : Laravel

Latest Version on Packagist Software License

Nasıl Yüklenir?

Step: 1

Paket bir Laravel paketi olduğu için öncelikle bir Laravel kurulumunuzun yapılmış olması gerekiyor. Laravel nasıl kurulur.

Step: 2

Paketi yüklemek için Laravel'in yüklü olduğu root klasörde aşağıdaki komutu çalıştırmanız gerekli

$ composer require salyangoz/parasut-rapor

Step: 3

Bu paket excel exportu farklı bir paket üzerinden çıkardığı için excel paketini de yüklemeniz gerek;

$ composer require maatwebsite/excel

Step: 4

Eklentinin mevcut Laravel'de kullanılabilmesi için Laravel klasörünüzdeki Config/app.php'ye şu değişiklikleri eklemeniz gerekli:

    'providers' => [
        Salyangoz\ParasutRapor\ParasutRaporServiceProvider::class,
        Maatwebsite\Excel\ExcelServiceProvider::class
    ],

Step 5: Enviroment ayarlamaları

Paket, proje için kullanılacak Paraşüt bilgilerinizi ve ayarlarınızı Laravel projenizdeki .env dosyasından alır. Hangi değişkenlerin tanımlanacağını bu repodaki .env.example dosyasından bakabilirsiniz.

Opsiyonel:

Eğer projeniz için paketteki sabitleri değiştirmeniz gerekirse (E-mail metni gibi) publish etmeniz gerekir bunu yapmak için aşağıdaki komutu kullanabilirsiniz:

php artisan vendor:publish --provider="Salyangoz\ParasutRapor\ParasutRaporServiceProvider"

Bu komutu çalıştırmanız ardından paketin config.php dosyası Laravel projenizin config dizinine parasut-rapor.php olarak kopyalanacaktır ve mail view dosyası resources/views yoluna kopyalanır, burda yaptığınız değişiklikler paket içindeki config dosyası ile birleşecek ya da overrite olacaktır.

Step 6: Laravel task

Sipariş raporlarının belirttiğiniz mail adreslerine iletilmesi için aşağıdaki gibi bir cronjob tanımlamanız gerekli.

App\Console\Kernel.php

namespace App\Console;

use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{

    protected $commands = [
        \Salyangoz\ParasutRapor\Commands\Report::class
    ];

    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
         /* Aylık rapor */
           $schedule->command('parasut-rapor:report')->monthly();
           
         /* Haftalık */
          $schedule->command('parasut-rapor:report')->weekly();
          
          /* Günlük rapor */
         #$schedule->command('parasut-rapor:report')->daily();
    }

    /**
     * Register the Closure based commands for the application.
     *
     * @return void
     */
    protected function commands()
    {
        require base_path('routes/console.php');
    }
}

Önemli Not: Laravel task zamanlayıcının çalışması için Web sunucunuzda cron'un çalışıyor olması gerekli.

Laravel task zamanlama nasıl tanımlanır

Laravel task zamanlamanın da çalışır halde olduğundan emin olduktan olduğumuzda artık hazırız demektir!

Aşağıdaki Konfigurasyonları da tamamladığınızda, taskın doğru çalışıp çalışmadığını, komut satırından doğrudan çalıştırarak test edebilirsiniz:

$ php artisan parasut-rapor:report

Nasıl Kullanılır?

Paraşüt API Konfigürasyon Süreçleri

  1. [email protected] adresine Paraşüt'e kayıtlı olduğunuz e-posta adresinden API kullanmak istediğinizi ve bunun bilgilerini sizinle paylaşılmasını istediğiniz bir e-posta gönderiniz.
  2. Gelen bilgilerden Application Id, Secret ve paraşüte giriş yaptığınızda üst linkte bulunan 6 haneyle başlayan numara bölümünü ve faturalarınız için açacağınız kategori idsini projenizin .env dosyasına girin.
PARASUT_CLIENT_ID=
PARASUT_CLIENT_SECRET=
PARASUT_USERNAME=
PARASUT_COMPANY_ID=
PARASUT_PASSWORD=
PARASUT_CATEGORY_ID=
PARASUT_ACCOUNT_ID=

Email Ayarlamaları (.env)

Laravel Mail sayfasındaki bilgiler ışığında laravel projenize mail kurulumunu yapınız. Ardından proje için aşağıda belirtilen değerleri giriniz.

EMAIL_FROM_EMAIL=Mailde görünecek gönderen email adresi
EMAIL_FROM_NAME=Mailde görünecek gönderen adı
EMAIL_TO_EMAIL=Raporların gönderileceği email adresleri. (,) ile ayrılır
EMAIL_CC_EMAIL=Raporları cc ile gönderileceği email adresleri. (,) ile ayrılır

Planlama aralığı (.env)

Maillerin hangi aralıklardaki siparişleri çekeceğini aşağıdaki ayar ile belirleyebilirsiniz. Buraya 3 farklı değer alınabilir.

monthly,weekly,daily.

Burada belirttiğiniz değer planladığınız cronjob ile aynı olmalı. Örneğin aylık raporlamayı açtıysanız, cronu da aylık olacak şekilde ayarlamalısınız.

PARASUT_REPORT_PERIOD=monthly

Dahil edilecek faturalar (.env)

Sistem sadece belirttiğiniz karakterlerle başlayan faturaların raporunu alır. (Eğer boş bırakırsanız tüm faturaları).

PARASUT_REPORT_INVOICE_PREFIX=KR,KU

Güvenlik

Herhangi bir güvenlik açığı yakalarsanız, issue açmak yerine [email protected] adresine bildirim yapabilirsiniz.

Geliştirilme Platformu

  • Laravel - PHP Framework For Web Artisans

Versiyonlama

  • SemVer versiyonlamayı kullanıyoruz. Versiyonlamaları görebilmek için tag bölümünü ziyaret edin.

Katılımcılar

Lisans

The MIT License (MIT). Please see License File for more information.

Ekstralar

Salyangoz Web Adresi