🌐 SiteScope - Modern Website Monitoring System SiteScope, web sitelerinin erişilebilirliğini ve performansını gerçek zamanlı olarak takip eden, yüksek standartlı yazılım mimarileriyle geliştirilmiş bir izleme çözümüdür.
🚀 Proje Amacı ve Vizyon
Bu proje, modern backend mimarilerini (Clean Architecture) ve güncel DevOps pratiklerini bir araya getirerek ölçeklenebilir, test edilebilir ve sürdürülebilir bir sistem sunmak amacıyla geliştirilmiştir.
🏗️ Mimari Yapı
Proje 4 ana katmandan oluşmaktadır:
SiteScope.Domain: Temel varlıklar (Entities), Enums ve iş kuralları.
SiteScope.Application: İş mantığı, Interfaces ve servis dökümleri.
SiteScope.Infrastructure: Veritabanı (PostgreSQL), EF Core yapılandırması ve arka plan işçisi (MonitoringWorker).
SiteScope.Api: API Endpoint'leri, Middleware yapılandırmaları ve uygulama girişi.
🛠️ Teknoloji Yığını
Framework: .NET 8 (LTS)
Database: PostgreSQL (Containerized)
ORM: Entity Framework Core (Code-First)
Containerization: Docker & Docker Compose
Testing: xUnit, Moq, Moq.EntityFrameworkCore
Documentation: Swagger UI
🛡️ Güvenlik ve Dayanıklılık
Global Exception Handling: Tüm hatalar merkezi bir Middleware ile yakalanır. Sistem detayları dışarı sızdırılmadan kullanıcıya profesyonel ve standart JSON yanıtları dönülür.
Resilience (Polly): Dış dünyaya atılan HTTP istekleri, Polly kullanılarak geçici ağ hatalarına karşı Exponential Backoff (Üstel Bekleme) stratejisi ile zırhlandırılmıştır.
Environment Variables: Hassas veriler (bağlantı cümleleri, şifreler vb.) kaynak kodda değil, .env dosyası üzerinden güvenli bir şekilde yönetilmektedir.
Unit Testing: Arka plan servisleri ve iş mantığı xUnit testleri ile %100 doğrulukla test edilmiştir.
CORS & Swagger Security: API erişimi kısıtlanmış ve Swagger arayüzü sadece geliştirme (Development) ortamına özel olarak yapılandırılmıştır.
📦 Kurulum ve Çalıştırma Sistemi ayağa kaldırmak için bilgisayarınızda Docker'ın kurulu olması yeterlidir:
Bash
git clone https://github.com/lvntbk/SiteScope.git cd SiteScope
cp .env.example .env
docker-compose up -d
Bu çalışma lvntbk tarafından geliştirilmiş olup, modern yazılım mühendisliği pratiklerini yansıtmaktadır.