Dokumentasiya

Sistemin quraşdırılması, istifadəsi və texniki detalları.

İstifadəçilər və təhlükəsizlik

Rollar, icazələr, endirim limitləri, audit log, aktiv sessiyalar və məlumat izolyasiyası.

Məlumat izolyasiyası

Sistem SaaS prinsipi ilə işləyir — bir proqramda çoxlu şirkət var, lakin hər şirkətin məlumatı digərlərindən tam ayrıdır. İzolyasiya iki qatda təmin olunur:

  1. Sorğu səviyyəsində — bütün əsas cədvəllərdə şirkət kimliyi var və hər sorğuya avtomatik filtr əlavə olunur. Kod bunu unutmaq imkanına malik deyil.
  2. İcazə səviyyəsində — modelə müraciət edilərkən onun cari şirkətə aid olduğu ikinci dəfə yoxlanılır.
Nəticədə URL-də nömrəni dəyişməklə (məsələn /panel/mehsullar/58/panel/mehsullar/59) başqa şirkətin məlumatına çıxmaq mümkün deyil — sorğu boş nəticə qaytarır.

Rollar

Yeddi hazır rol var; hər biri şirkət daxilində ayrıca qurulur:

RolTipik istifadə
Şirkət sahibiTam nəzarət, ayarlar və rollar daxil
AdministratorGündəlik idarəetmə; rol və ayarları dəyişə bilmir
Filial müdiriYalnız öz filialının əməliyyatları və hesabatları
KassirSatış və növbə; yalnız öz satışlarını görür
AnbardarMəhsul, qəbul, transfer, inventarizasiya; maliyyəni görmür
MühasibMaliyyə və hesabatlar; satış edə bilmir
SatıcıSatış və öz komissiyası

İcazələr

Rol icazələrin toplusudur. Hər icazə ayrıca aktivləşdirilə bilər — Rollar və icazələr bölməsində istənilən rolu (sahib xaric) fərdiləşdirin. Nümunə icazələr:

  • Məhsul yaratmaq / silmək
  • Qiymət dəyişmək
  • Maya dəyərini görmək
  • Endirim etmək / limitsiz endirim etmək
  • Satışı qaytarmaq / ləğv etmək
  • Kassadan pul çıxarmaq
  • Xərcləri görmək
  • Mənfəəti görmək
  • Borcları görmək
  • Kredit limitini aşmağa icazə vermək
  • Hesabat export etmək
  • Audit log-a baxmaq

Endirim limiti

Hər istifadəçi üçün maksimum endirim faizi təyin edilir. Kassir 5% limitə malikdirsə, 7% endirim etməyə çalışdıqda sistem administrator PIN-i tələb edir. Təsdiq verən şəxsin adı və endirim faizi audit log-a yazılır.

PIN istifadəçi profilində təyin olunur və şifrələnmiş şəkildə saxlanılır.

Audit log

Kritik əməliyyatlar dəyişməz şəkildə qeydə alınır:

04.09.2026 12:32
İstifadəçi: Elvin Məmmədov
Əməliyyat:  Qiymət dəyişdirildi
Məhsul:     Coca-Cola 1L
Dəyişiklik: 1.80 → 1.50 AZN
IP:         192.168.1.42
Cihaz:      Chrome / Windows

Loglanan əməliyyatlar:

  • Məhsulun yaradılması, dəyişdirilməsi, silinməsi
  • Qiymət dəyişikliyi (köhnə və yeni dəyər)
  • Stok düzəlişi və inventarizasiya
  • Satışın ləğvi (səbəblə birlikdə)
  • Qaytarma
  • Endirim
  • Xərc yaradılması
  • Kassa mədaxil / məxaric
  • Müştəri və təchizatçı borcunun dəyişməsi
  • İstifadəçi icazələrinin dəyişməsi
  • Növbənin açılıb-bağlanması
Audit log administrator tərəfindən də silinə bilmir — bu, sistem səviyyəsində bloklanıb. Yalnız oxumaq mümkündür.

Sənədlərin silinməməsi

Məhsul, müştəri və təchizatçı fiziki silinmir — arxivə köçürülür (soft delete), ona görə köhnə sənədlərdəki adlar itmir. Satış və maliyyə sənədləri isə normal istifadəçi tərəfindən heç vaxt silinmir: satış ləğv edildikdə statusu dəyişir, sətirlər və tarixçə qalır.

Aktiv sessiyalar

Aktiv sessiyalar bölməsində kimin haradan daxil olduğu görünür: istifadəçi, IP, brauzer, əməliyyat sistemi, son aktivlik vaxtı. Şübhəli sessiyanı uzaqdan bağlaya bilərsiniz — həmin cihazda giriş dərhal kəsilir.

Texniki müdafiə

  • CSRF (saxta sorğu) müdafiəsi bütün formalarda
  • XSS müdafiəsi — bütün çıxış məlumatı avtomatik ekranlaşdırılır
  • SQL injection müdafiəsi — parametrləşdirilmiş sorğular
  • Şifrələr bcrypt ilə hash edilir, heç vaxt açıq saxlanılmır
  • Giriş cəhdlərinə limit: 5 uğursuz cəhddən sonra müvəqqəti bloklama
  • Sessiya təhlükəsizliyi: girişdən sonra sessiya kimliyinin yenilənməsi
  • API üçün token əsaslı autentifikasiya

Ehtiyat nüsxə

Verilənlər bazası gündəlik avtomatik ehtiyat nüsxələnir. Son 7 günün gündəlik və həftəlik nüsxələri saxlanılır. Nüsxələr ayrıca saxlama sahəsinə köçürülə bilər.

# Gündəlik ehtiyat nüsxə (cron)
0 3 * * * cd /path/to/app && php artisan backup:run