⚡
Zorluklar
- Aracısız çiftçiden tüketiciye doğrudan satış sistemi ihtiyacı
- Her ürün için iki fiyat türü (perakende ve toptan) yönetimi
- Her il için farklı fiyatlarla üç araç tipi ve karmaşık ulaşım sistemi
- Satın alma anında otomatik kullanıcı kaydı ihtiyacı
- Pazarlamacıları yönetme ve onlarla ödeme yapma
- İl ve ilçeye göre nakliye maliyetlerini hesaplama
- Farklı erişim seviyelerine sahip yönetim paneli ihtiyacı
- Sistem genelinde Celali tarih yönetimi
💡
Çözümler
- İki fiyat alanlı (retail_price, overall_price) Commodity modeli uygulama
- Her araç tipi için üç fiyat alanlı (vanet_price, nasan_price, khavar_price) Transport modeli tasarlama
- Satın alma anında rastgele şifre ile otomatik kullanıcı kaydı uygulama
- Pazarlamacı yönetimi için visitor_id ve visitor_paid alanlı Cart modeli tasarlama
- City ile ManyToMany ilişkili State_city modeli uygulama
- Ghasedak API aracılığıyla SMS kimlik doğrulama sistemi
- access_level alanı ile erişim seviyeleri (yönetici, kullanıcı) uygulama
- Celali tarih için persiantools kullanma
- Bölge tanıtımı için Takestan_us sayfaları tasarlama
📚
Kazanımlar
- İki satış türlü (perakende ve toptan) eksiksiz çevrimiçi mağaza
- Değişken fiyatlı akıllı ulaşım sistemi
- Pazarlamacılarla pazarlama ve ödeme sistemi
- Satın alma anında otomatik kullanıcı kaydı
- Farklı erişim seviyelerine sahip yönetim paneli
- Tam Celali tarih desteği
- Duyarlı ve kullanıcı dostu tasarım
- İl ve ilçe yönetim sistemi
🔧
Teknik Öne Çıkanlar
- Django 4.2.6 ve Python 3
- pymysql ile MySQL veritabanı
- Celali tarih için django-jalali ve persiantools
- Telegram botu için python-telegram-bot
- Görsel optimizasyonu için sorl-thumbnail
- Görsel işleme için Pillow
- Excel dışa aktarma için xlwt
- Yardımcı hizmetler için Flask
- Rastgele şifre ile otomatik kayıt sistemi
- Erişim seviyesi yönetimi (yönetici, kullanıcı)
- Üç araç tipli ulaşım sistemi
- Pazarlama ve ödeme sistemi
- ManyToMany ile State_city yönetimi
- SMS için Ghasedak API
- Sistem genelinde Celali tarih yönetimi
🏗️
Mimari
Yare Keshavarz, Django'nun MVT (Model-View-Template) mimarisi üzerine kurulmuştur ve iki ana uygulamadan oluşur:
1. store_account: Kullanıcı yönetimi ve kimlik doğrulamadan sorumlu
- access_level, mobile, bank_card_number, total_income, paid_income alanlarına sahip özel User modeli
- SMS ve şifre ile giriş sistemi
- Satın alma anında otomatik kullanıcı kaydı
2. store_profile: Ürünler, alışveriş sepeti ve ulaşım yönetiminden sorumlu
- Tarım ürünleri için Commodity modeli
- visitor_id ve visitor_paid alanlı alışveriş sepeti için Cart modeli
- Ulaşım yönetimi için Transport modeli
- İl ve ilçe yönetimi için State_city modeli
- Ürün görselleri ve anahtar kelimeler için ImageFile ve Keyword modelleri
Ana proje görünümleri:
- home_page: Ürün gösterimi ve ulaşım tablosu ile ana sayfa
- commodity_details: Satın alma formlu ürün detayları
- new_home: Pazarlamacıya özel ana sayfa
- new_commodity_details: Pazarlamacıya özel ürün detayları
- transport: Ulaşım listesi
- about_us: Hakkımızda
- contact_us: Bize ulaşın
- takestan_us: Takestan ilçesi hakkında
Yönetim paneli şunları içerir:
- dashboard: Kontrol paneli
- addcommodity: Ürün ekle
- allcommodity: Ürün listesi
- edit_commodity: Ürün düzenle
- edit_image: Görselleri düzenle
- admin_cart: Yeni siparişleri takip et
- follow_user_cart: Kullanıcı sepetini takip et
- sent_cart: Pazarlamacı ödeme listesi
- all_visitor_paid_cart: Satış geçmişi
- manage_transport: Ulaşım yönetimi
- state_city: İl ve ilçe yönetimi
- allusers: Kullanıcı listesi
- profile_settings: Kişisel ayarlar
- user_cart: Alışveriş sepeti
- user_sent_cart: Önceki alışverişler listesi
- visitor_cart: Mevcut satışlar
- visitor_paid_cart: Önceki satışlar
Proje DEBUG modunda çalışır ve geliştirme için SQLite, üretim için MySQL kullanır.
📐
Proje Ölçeği
- 2 ana uygulama (store_account, store_profile)
- 5 ana veri modeli (User, Commodity, Cart, Transport, State_city)
- 3 araç tipi (kamyonet, Nissan, Khavar)
- 2 fiyat türü (perakende ve toptan)
- 2 erişim seviyesi (yönetici, kullanıcı)
- 20'den fazla sayfa ve HTML şablonu
- Otomatik kayıt sistemi
- Pazarlama ve ödeme sistemi
- Celali tarih yönetimi