Skip to content

Inetcodegg/Python_polymorphism

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

FinTrack Co. — Ko'p formatli Hisob-faktura Generatori

Bu loyiha FinTrack Co. kompaniyasi uchun mo'ljallangan bo'lib, u foydalanuvchilarga bir xil ma'lumotlar asosida hisob-fakturalarni turli formatlarda (PDF, Excel, HTML) yaratish imkonini beruvchi modul va obyektga yo'naltirilgan tizimdir. Tizimning asosiy maqsadi — biznes mantiqini o'zgartirmasdan, chiqish formatlarini osongina kengaytirish va boshqarish.

Biznes Konteksti

FinTrack Co. — mijozlar va billing jarayonlarini boshqarish uchun frilanserlar va agentliklarga avtomatlashtirilgan vositalarni taqdim etadi. Ushbu loyiha hisob-faktura modulini qayta ishlab, uni turli formatlarda yaratish imkoniyatiga ega, kengaytiriladigan va texnik xizmat ko'rsatish oson bo'lgan zamonaviy arxitekturaga o'tkazishni nazarda tutadi.

Xususiyatlar

  • Ko'p formatli qo'llab-quvvatlash: Hisob-fakturalarni PDF, Excel va HTML formatlarida yaratish.
  • Modulli arxitektura: Obyektga yo'naltirilgan dasturlash (OOP) va Abstract Base Class (ABC) dan foydalanilgan.
  • Polimorfizm: Bitta InvoiceManager klassi turli generatorlarni boshqara oladi.
  • Haqiqiy fayllar yaratish: Tizim faqat virtual ko'rsatish emas, balki kompyuteringizda haqiqiy fayllar (.pdf, .xlsx, .html) yaratadi.
  • Kengaytirilchanlik: Yangi formatlar (masalan, JSON, XML) qo'shish oson.
  • Bonus:
    • TaxMixin: Hisob-fakturaga 10% miqdorida QQS (Qiymat qo'shilgan soliq) qo'shish imkoniyati.
    • Factory Method: Format nomiga ko'ra kerakli generator obyektini yaratishni osonlashtiruvchi fabrika usuli.
    • Avtomatik saqlash: Barcha yaratilgan hisob-fakturalar /invoices papkasiga avtomatik ravishda saqlanadi.

O'rnatish

Loyihani ishga tushirishdan oldin, kerakli kutubxonalarni o'rnatishingiz kerak.

  1. Loyihani klonlang:

    git clone <repository-url>
    cd fintrack-invoice-generator
  2. Virtuel muhit yarating (tavsiya etiladi):

    python -m venv venv
    # Windows uchun
    .\venv\Scripts\activate
    # macOS/Linux uchun
    source venv/bin/activate
  3. Kerakli kutubxonalarni o'rnatish: requirements.txt faylida ko'rsatilgan barcha kutubxonalarni o'rnatish:

    pip install -r requirements.txt

Ishga Tushirish

Dasturni asosiy ishga tushirish:

python main.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages