⚡
Zorluklar
- İki doğrulama adımlı (e-posta + Google Authenticator) güvenli kimlik doğrulama sistemi ihtiyacı
- Yöneticiler için birden fazla erişim seviyesini yönetme
- Ulusal kimlik kartı görüntüsü ve kimlik doğrulama ile KYC sistemi uygulama
- Çeşitli blokzincirleri destekleyen kripto para işlemlerini yönetme
- Harici hizmetlerle iletişim için API ihtiyacı
- Google Authenticator kurulumu için QR Kod oluşturma
- Gmail SMTP ve Uygulama Şifresi ile güvenli e-posta gönderme
- Yöneticileri, müşterileri ve finansal işlemleri aynı anda yönetme
💡
Çözümler
- 2FA uygulaması için django-otp ve django-two-factor-auth kullanma
- Google Authenticator anahtarlarını saklamak için TOTPDevice uygulama
- qrcode kütüphanesi ile QR Kod oluşturma ve base64 ile görüntüleme
- Temel kimlik doğrulama için django.contrib.auth kullanma
- KYC ve erişim alanlarına sahip özel User modeli tasarlama
- Güvenlik için DRF ve permission_classes ile API uygulama
- E-posta göndermek için Gmail SMTP ve Uygulama Şifresi kullanma
- Modelleri JSON'a dönüştürmek için serializer uygulama
- 2FA doğrulamasını zorunlu kılmak için OTPMiddleware kullanma
- jQuery ve AJAX ile özel yönetim paneli tasarlama
📚
Kazanımlar
- Yüksek güvenlikli eksiksiz finansal yönetim sistemi
- E-posta ve Google Authenticator ile iki faktörlü kimlik doğrulama
- Çok seviyeli yönetici erişim yönetimi
- Müşteri kimlik doğrulaması için eksiksiz KYC sistemi
- Kripto para işlem yönetimi
- Gelecekteki geliştirmeler için güçlü API
- Özel ve kullanıcı dostu yönetim paneli
- Güvenli ve profesyonel e-posta gönderimi
🔧
Teknik Öne Çıkanlar
- Django 5.2.5 ve Python 3
- pymysql ile MySQL veritabanı
- 2FA için django-otp ve django-two-factor-auth
- TOTP üretimi için pyotp
- QR Kod üretimi için qrcode ve pypng
- API için Django REST Framework 3.16
- Görsel işleme için Pillow
- KYC ve güvenlik alanlarına sahip CustomUser sistemi
- OTPMiddleware kullanımı
- İkinci kimlik doğrulama için Google Authenticator
- Gmail SMTP + Uygulama Şifresi ile e-posta gönderimi
- E-posta ile 6 haneli kod doğrulaması
- Çoklu blokzincir yönetimi (BEP20, TRC20, Polygon)
- Yöneticiler için farklı erişim seviyeleri
🏗️
Mimari
Fuchase Finance, Django'nun MVT (Model-View-Template) mimarisi üzerine kurulmuştur ve iki ana uygulamadan oluşur:
1. users: Kullanıcı yönetimi, kimlik doğrulama ve yönetim panelinden sorumlu
- KYC, erişim ve güvenlik alanlarına sahip özel User modeli
- Ana projede login_admin, enable_totp görünümleri
- admin_manager, add_admin, alluser, user_information görünümleri
- İşlem yönetimi için deposite, witheraw görünümleri
- customer_list ve customer_checkin için API endpoint'leri
- User'ı JSON'a dönüştürmek için serializer
- Erişim kontrolü için permissions
2. web: Açılış sayfası yönetiminden sorumlu
- Açılış sayfası bilgilerini saklamak için Lp modeli
- Ad, puan, logo ve açıklama ekleme yeteneği
Ana views.py dosyası şunları içerir:
- login_admin: üç adımlı giriş (e-posta/kod, OTP, 2FA)
- enable_totp: QR Kod ile Google Authenticator kurulumu
Proje DEBUG modunda çalışır ve geliştirme için SQLite, üretim için MySQL kullanır.
📐
Proje Ölçeği
- 2 ana uygulama (users, web)
- 2 ana veri modeli (User, Lp)
- Üç adımlı kimlik doğrulama sistemi
- Özel yönetim paneli
- Eksiksiz KYC sistemi
- DRF ile API
- Kripto para işlem yönetimi
- 3 blokzincir desteği (BEP20, TRC20, Polygon)
- 3 yönetici erişim seviyesi
- Google Authenticator + e-posta 2FA