⚡
Zorluklar
- Güvenli yükleme ve zip dosyası koruması ile dosya satış sistemi ihtiyacı
- Çevrimiçi dersler ve indirilebilir dosyaları tek bir sepette yönetme
- Profesörlerin dosya satışlarından ve ders kayıtlarından payının otomatik hesaplanması
- Minimum tutarlı muhasebe sistemi ve ödeme talepleri ihtiyacı
- Ders kapasitesini yönetme ve aşırı kaydı önleme
- Yanıt ve takip yeteneği olan bilet destek sistemi
- Zarinpal ödeme geçidi entegrasyonu
- Erişim seviyesi yönetimi (kullanıcı, profesör, yönetici) ve özel makale erişimi
💡
Çözümler
- İçerik yönetimi için Product, Classes ve Article modelleri tasarlama
- Cart ve Class_student modelleri ile birleşik alışveriş sepeti sistemi uygulama
- Yapılandırılabilir yüzde ile profesörlerin payının otomatik hesaplanması (professor_class_percent, professor_product_percent)
- Güvenli işlemler için Zarinpal ödeme geçidi kullanma
- Accounting modeli ve ödeme talebi yeteneği ile muhasebe sistemi tasarlama
- Support_table modeli ve yanıt yeteneği ile destek sistemi uygulama
- Görsel optimizasyonu için sorl-thumbnail kullanma
- Celali tarih dönüşümü için jdatetime ve persiantools kullanma
- Ghasedak API aracılığıyla SMS kimlik doğrulama sistemi
- MySQL bağlantısı için pymysql kullanma
📚
Kazanımlar
- Dosya satışı ve ders barındırma ile eksiksiz eğitim platformu
- Zarinpal geçidi ile güvenli ödeme sistemi
- Profesörler için otomatik muhasebe sistemi
- Profesyonel bilet destek sistemi
- Erişim seviyesi yönetimi ve özel makaleler
- Tam Celali takvim desteği
- Duyarlı ve kullanıcı dostu tasarım
- Telegram bot entegrasyonu
🔧
Teknik Öne Çıkanlar
- Django 4.2.6 ve Python 3
- pymysql ile MySQL veritabanı
- Zarinpal ödeme geçidi
- Ghasedak API ile SMS tabanlı kimlik doğrulama
- persiantools ve jdatetime ile Celali tarih dönüşümü
- sorl-thumbnail ve python-resize-image ile görsel optimizasyonu
- JSON ile kapsamlı AJAX sistemi
- Çoklu Uygulama tasarımı (shop_account, shop_profile, zarinpal)
- Erişim seviyesi yönetimi (kullanıcı, profesör, yönetici)
- django-telegrambot ve Pyrogram ile Telegram botu
- xlwt ile Excel dosyası oluşturma
- Otomatik profesör payı hesaplamalı muhasebe ve ödeme sistemi
- Ders ve dosya indirim kodları ile indirim sistemi
🏗️
Mimari
Fileshop, Django'nun MVT (Model-View-Template) mimarisi üzerine kurulmuştur ve üç ana uygulamadan oluşur:
1. shop_account: Kullanıcı yönetimi, kimlik doğrulama ve kayıt işlemlerinden sorumlu
- education, property, group_of_user, mobile alanlarına sahip özel User modeli
- Sosyal medya ve bankacılık bilgileri
- SMS ve şifre ile giriş sistemi
- Profesör pay yüzdeleri (professor_class_percent, professor_product_percent)
2. shop_profile: İçerik ve işlem yönetiminden sorumlu
- Eğitim dosyaları için Product modeli
- Çevrimiçi dersler için Classes modeli
- Makaleler için Article modeli
- Alışveriş sepeti için Cart ve Class_student modelleri
- Muhasebe için Accounting modeli
- Destek için Support_table modeli
- Duyurular için News_table modeli
3. zarinpal: Çevrimiçi ödemeden sorumlu
- Zarinpal ödeme geçidi entegrasyonu
Proje DEBUG modunda çalışır ve geliştirme için SQLite, üretim için MySQL kullanır.
📐
Proje Ölçeği
- 3 ana uygulama (shop_account, shop_profile, zarinpal)
- 15'ten fazla veri modeli
- 3 ana içerik türü (dosya, ders, makale)
- 3 erişim seviyesi (kullanıcı, profesör, yönetici)
- 30'dan fazla sayfa ve HTML şablonu
- 40'tan fazla görünüm ve endpoint
- Zarinpal ile eksiksiz ödeme sistemi
- Muhasebe ve ödeme sistemi
- Bilet destek sistemi
- Duyuru sistemi
- Telegram botu
- İndirim sistemi