MRPYWEB

Web Sitesi, Web Uygulamaları ve İş Sistemleri Geliştirme
Portföylere Geri Dön
سامانه مدیریت و اشتراک‌گذاری پروژه‌های برنامه‌نویسی

Programlama Projeleri Yönetim ve Paylaşım Platformu

Bu proje, programcılar ve yazılım geliştiriciler için kapsamlı bir platformdur. Programlama portföylerini güvenli ve profesyonel bir ortamda kaydetme, yönetme ve paylaşma imkânı sunar. Kullanıcılar, projelerini tam dokü…

Genel Bakış

Proje Hakkında

Bu proje, programcılar ve yazılım geliştiriciler için kapsamlı bir platformdur. Programlama portföylerini güvenli ve profesyonel bir ortamda kaydetme, yönetme ve paylaşma imkânı sunar. Kullanıcılar, projelerini tam dokümantasyon, resimler, videolar ve ekli dosyalarla birlikte paylaşabilir ve diğer geliştiricilerin yorum ve geri bildirimlerinden faydalanabilir. Portföyler Farsça, Türkçe, Arapça ve İngilizce olmak üzere 4 dilde sunulabilir. Ayrıca kullanıcı, özgeçmişinin (CV) PDF çıktısını, portföy öğelerini istediği sıralama ve düzene göre alabilir. Bu projede dinamik rol ve izin yönetimine sahip bir kullanıcı sistemi kullanılmıştır. Yönetici (admin), ekibine uygun rolleri oluşturabilir ve ekip üyelerine gerekli erişim izinlerini atayabilir.

Vaka Çalışması

Proje Vaka Çalışması

Zorluklar, çözümler, kazanımlar, teknik öne çıkanlar, mimari ve proje ölçeği.

⚡

Zorluklar

Bu projenin ana zorluklarından biri, programlama portföylerini çok dilli (4 dil) olarak depolayıp görüntüleyebilen bir sistem tasarlamaktı. Ayrıca, büyük dosyaları (resimler, videolar ve dokümanlar) yüksek güvenlikle ve gelişmiş arama özellikleriyle yönetecek bir sisteme duyulan ihtiyaç da bir diğer zorluktu. Bunun yanı sıra, tamamen dinamik bir Rol ve İzin (Role & Permission) sisteminin uygulanması bu projede zorlu bir tasarım süreciydi. Ayrıca, dinamik bir form oluşturucu sistem tasarlamak; yönetici panelinde kodlama gerektirmeden ana formlar oluşturmayı, bu ana formları kullanılmak üzere kopyalamayı, alan türüne ve o alanı doldurmakla yükümlü kullanıcı rolüne göre form alanlarını doldurmayı ve her bir kişiye atanan alanların tamamlanması için uygun ve gerçek zamanlı bir bildirim sistemini içermek de diğer karmaşık yönler arasındaydı.

💡

Çözümler

Çok dillilik zorluğunu çözmek için, içeriğin bağımsız olarak saklanmasını sağlayan, her dil için ayrı alanlara dayalı bir mimari kullanıldı. Dosya yönetimi için, dosya türüne ve proje kimliğine göre otomatik yol bölümlemesi yapan bir bulut depolama sistemi kullanıldı. Gelişmiş arama için ise Django ORM'in bileşik filtrelerle birlikte yeteneklerinden yararlanıldı. Dinamik form oluşturma için, çeşitli girdi türleri ayrı bir veritabanında tanıtıldı ve ana formda kullanıldı. Ayrıca, ana formdan kopyalar oluşturulurken, depolama için birkaç ayrı model kullanılarak formların yönetim ve doldurma kapasitesi artırıldı ve ana formlardaki düzenlemelerin, doldurulmuş kopya formları etkilemesi engellendi. Rol ve İzin sistemi için, veritabanında 5 farklı model kullanılarak izinler, roller, kullanıcılar ve bunlar arasındaki ilişkiler tanımlandı.

📚

Kazanımlar

4 dil desteğine sahip eksiksiz bir platformun başarılı bir şekilde uygulanması, CDN optimizasyonu ile dosya yükleme hızında %70 artış, akıllı önbellekleme ile sunucu yanıt süresinde %40 azalma ve portföylerini bir araya getirip bir programlama ekibi oluşturabilen aktif bir programcı topluluğunun oluşturulması. Ayrıca, her programcının site bağlantısı ve PDF olarak müşterilerine sunabileceği kişisel bir özgeçmişi olacaktır.

🔧

Teknik Öne Çıkanlar

1- Çok Dilli Mimari (Multi language Architecture)
2- Kimlik Doğrulama ve Rol Tabanlı Erişim Kontrolü (RBAC)
3- Taslak ve Yayınlama İş Akışı
4- Akıllı Dosya Yönetimi ve Akıllı Yol Belirleme
5- Çoklu Ortam İçerik Yönetimi
6- JavaScript ile Dinamik Alanlar
7- Çok Adımlı Stepper Form
8- Müşteri Yönetimi
9- Yarı Yapılandırılmış Veriler için JSONField Kullanımı
10- Sorgu Optimizasyonu ve Dizinleme
11- Ziyaret Takibi ve İstatistik Yönetimi
12- Özel Filtreler ve Şablon Etiketleri
13- AJAX için RESTful Mimarisi
14- Ekip Sertifikaları Yönetimi
15- Yönetim Komutları (Management Commands)
16- Çoklu Yükleme ve 4 Dilde Meta Veri ile Galeri Görsel Yönetimi
17- Dosya, Bağlantı ve 4 Dil Desteği ile Video Yönetimi
18- Kullanıcı Yorumları ve Puanlama Sistemi
19- İş Alanı ve Proje Faaliyet Alanı Yönetimi (4 Dil)
20- Proje Ekibi Üyeleri (4 Dilde Roller ve Özel Roller)

🏗️

Mimari

Proje, Django'nun MTV mimarisi temel alınarak modüler bir yapıyla tasarlanmış olup, ayrı uygulamalardan oluşmaktadır: programmers (portföy yönetimi), account (kimlik doğrulama ve RBAC) ve site_profile (iletişim). Model katmanı, 4 dil desteğiyle (Farsça, İngilizce, Arapça, Türkçe) ayrı alanlar, Çoka-Çok (Many-to-Many) ilişkiler ve JSONField kullanılarak uygulanmıştır. View katmanı, rol tabanlı ayrım, otomatik onay sistemi, ziyaret kaydı ve AJAX yanıtları ile iş mantığını yönetir. Template katmanı, 8 adımlı bir stepper, 4 dilli sekmeler, dinamik alanlar ve özel filtreler kullanır. Yönlendirme (routing), her dil için ayrı URL'ler ve dinamik parametrelerle gerçekleştirilir. RBAC sistemi, Rol ve İzin modelleriyle erişimi kontrol eder. Dosya depolama, akıllı yol belirleme ve diskten otomatik silme ile yönetilir. Son olarak, yönetim paneli (admin panel), modellerin yönetimi ve mesajlar ve traceback kullanılarak hata kaydı için mevcuttur.

📐

Proje Ölçeği

Proje, 9 Django uygulaması, yaklaşık 60 veritabanı modeli ve 400'den fazla alan ile 4 dili (Farsça, İngilizce, Arapça, Türkçe) uygun şekilde destekleyen 70'ten fazla view içermektedir. 70'ten fazla tam HTML şablonu, 8 aşamalı bir stepper sistemi, dil sekmeleri ve dinamik alanlarla uygulanmıştır. Toplam kod hacmi yaklaşık 25.000‑30.000 satırdır ve RBAC sistemi, akıllı dosya yönetimi, Celali‑Miladi tarih dönüşümü ve yönetim komutlarını içerir. Proje, 4 dilde meta verilerle çoklu görsel ve video yükleme, otomatik onay sistemi, tekrar sayımını önleyen ziyaret kaydı ve arama ve otomatik oluşturma özelliklerine sahip müşteri yönetimini desteklemektedir. Genel olarak bu, modüler bir mimariye ve çeşitli ihtiyaçlar için genişletilebilirliğe sahip, eksiksiz ve ölçeklenebilir bir projedir.

Teknolojiler

Teknolojiler

Bootstrap Django Django REST Framework HTML/CSS JavaScript MySQL PostgreSQL Python SQLite
Kategoriler

Kategoriler

Yönetim Paneli / Dashboard Ofis Otomasyonu CRM Sistemi ERP Sistemi Kişisel / Portföy Sitesi Kurumsal Web Sitesi
Sektör

İş Alanı

mrpyweb projesi, "Bilgi Teknolojileri ve Yazılım" alanında kapsamlı bir web platformudur.
Faaliyet Alanı

Faaliyet Alanı

mrpyweb projesi, "Çok dilli İçerik Yönetim Sistemleri (CMS) ve portföy sergileme platformları gelişt
İstatistikler

Proje İstatistikleri

59
👁️ Görüntülenme
0
❤️ Beğeni
0
⬇️ İndirme
0
⭐ Puan
Metrikler

Özel Metrikler

Projenin temel performans göstergeleri

4 dil (Farsça, İngilizce, Arapça, Türkçe) Desteklenen diller
9 ana uygulama Django uygulamaları sayısı
Yaklaşık 60 aktif model Veritabanı model sayısı
70'ten fazla view Uygulanan view sayısı
70'ten fazla tam şablon HTML şablon sayısı
Yaklaşık 25.000 satır Toplam kod hacmi (tahmini)
Tüm modellerde 400'ün üzerinde alan Model alanlarının sayısı
Ekip

Proje Ekibi

Bu projede iş birliği yapan kişiler

حسن کاظمی
Hasan Kazemi
Full Stack Geliştirici
Faydalı Bağlantılar

Faydalı Bağlantılar

Görseller

Proje Görselleri

Proje ortamının ve kullanıcı arayüzünün bölümleri

Aklınızda benzer bir proje mi var?

Bir web sitesi, CRM, ERP veya özel bir sistem geliştirmek için iş birliğine ihtiyacınız varsa, projenizi görüşmekten mutluluk duyarım.

Proje Başlat