Skip to content

Repository files navigation

🌐 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

Projeyi klonlayın

git clone https://github.com/lvntbk/SiteScope.git cd SiteScope

.env dosyasını oluşturun (örnek dosyadan kopyalayarak)

cp .env.example .env

Docker ile sistemi başlatın

docker-compose up -d

Bu çalışma lvntbk tarafından geliştirilmiş olup, modern yazılım mühendisliği pratiklerini yansıtmaktadır.

About

Production-oriented website monitoring API with .NET 8, PostgreSQL, background workers, Polly and Docker.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages