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.
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.
- 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
InvoiceManagerklassi 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
/invoicespapkasiga avtomatik ravishda saqlanadi.
Loyihani ishga tushirishdan oldin, kerakli kutubxonalarni o'rnatishingiz kerak.
-
Loyihani klonlang:
git clone <repository-url> cd fintrack-invoice-generator
-
Virtuel muhit yarating (tavsiya etiladi):
python -m venv venv # Windows uchun .\venv\Scripts\activate # macOS/Linux uchun source venv/bin/activate
-
Kerakli kutubxonalarni o'rnatish:
requirements.txtfaylida ko'rsatilgan barcha kutubxonalarni o'rnatish:pip install -r requirements.txt
Dasturni asosiy ishga tushirish:
python main.py