Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🌐 Sosyal Ağ Analizi ve Görselleştirme

Sosyal Ağ Analizi ve Görselleştirme, sosyal ağları graf (graph) veri yapısı ile modelleyen, çeşitli graf algoritmaları kullanarak analiz eden ve sonuçları modern bir PyQt6 arayüzü üzerinden görselleştiren bir masaüstü uygulamasıdır.

Bu proje, algoritma bilgisi, nesne yönelimli programlama, veri yapıları ve kullanıcı arayüzü geliştirme konularındaki yetkinliği göstermek amacıyla geliştirilmiştir.

⸻

✨ Özellikler

🔹 Grafik (Graph) Modelleme • Kullanıcılar Node (Düğüm) olarak modellenir • Kullanıcılar arası ilişkiler Edge (Kenar) olarak temsil edilir • Yönsüz ve ağırlıklı grafik yapısı • Düğüm özelliklerine göre otomatik kenar ağırlığı hesaplama

🔹 Uygulanan Algoritmalar

•	BFS (Breadth First Search) – Erişilebilirlik analizi

•	DFS (Depth First Search) – Derinlik tabanlı gezinti

•	Dijkstra – En kısa yol bulma algoritması

•	A* – Sezgisel (heuristic) en kısa yol algoritması

•	Bağlı Bileşenler (Connected Components)

•	Degree Centrality – Düğüm önem analizi

•	Welsh–Powell Graph Coloring – Grafik renklendirme

🔹 Görselleştirme • Grafik yapısı canvas üzerinde canlı olarak çizilir • Algoritma sonuçları: • renkli düğümler • vurgulanan yollar • Seçilen düğümün detayları tablo halinde gösterilir

🔹 Kullanıcı Arayüzü (UI) • Modern card-based (kart tabanlı) tasarım • Scroll destekli kontrol paneli • Primary / Danger / Ghost buton stilleri • Kullanıcı dostu ve etkileşimli arayüz

🔹 JSON Desteği • Grafiği JSON formatında kaydetme • Daha önce kaydedilmiş grafiği JSON’dan yükleme

🧱 Proje Yapısı

SocialNetwork/ │ ├── src/ │ ├── main.py │ │ │ ├── models/ │ │ ├── node.py │ │ ├── edge.py │ │ └── graph.py │ │ │ ├── algorithms/ │ │ ├── bfs.py │ │ ├── dfs.py │ │ ├── dijkstra.py │ │ ├── a_star.py │ │ ├── components.py │ │ ├── centrality.py │ │ └── coloring.py │ │ │ ├── ui/ │ │ ├── main_window.py │ │ ├── graph_canvas.py │ │ └── style.py │ ├── README.md └── requirements.txt

🖥️ Kurulum

1️⃣ Sanal Ortam Oluşturma

python3 -m venv venv source venv/bin/activate

2️⃣ Gerekli Paketleri Kurma

pip install PyQt6 (İsteğe bağlı: matplotlib, networkx)

▶️ Uygulamayı Çalıştırma

⚠️ Proje root klasörden çalıştırılmalıdır: python3 -m src.main

🧪 Kullanım Akışı

1.	Kullanıcı (Node) ekle
2.	Kullanıcılar arasında bağlantı (Edge) oluştur
3.	Algoritmalardan birini çalıştır
4.	Sonuçları görselleştir
5.	Grafiği JSON olarak kaydet veya JSON’dan yükle

📌 Kullanılan Teknolojiler

•	Python 3
•	PyQt6
•	Nesne Yönelimli Programlama (OOP)
•	Grafik Veri Yapıları
•	Graf Algoritmaları
•	JSON Serialization

👤 Geliştirici • Yunus Emre Yılmaz Bilişim Sistemleri Mühendisliği Öğrencisi • Yunus Emir Atıcı Bilişim Sistemleri Mühendisliği Öğrencisi

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages