Skip to content

zeynpakn/Spyping

Repository files navigation

Spyping

Spyping, ASP.NET Core MVC mimarisi üzerine inşa edilmiş, çok katmanlı bir sunucu sağlık izleme ve bildirim sistemidir.
Kullanıcılar yalnızca kendi tanımlı sunucu/IP listelerini yönetebilir, sistem ise arka planda periyodik ping testleri gerçekleştirir ve kesinti durumlarında e-posta bildirimi gönderir.


🚀 Özellikler

  • Katmanlı mimari: MVC prensibine uygun, düzenli ve ölçeklenebilir yapı.
  • Sunucu izleme: Belirli periyotlarda otomatik ping testleri.
  • E-posta bildirimleri: Sunucu erişilemez olduğunda ilgili kullanıcıya SMTP üzerinden e-posta gönderimi.
  • Çok kullanıcılı yapı: Kullanıcılar yalnızca kendi tanımladıkları sunucuları görebilir.
  • PostgreSQL + EF Core: Güvenli, performanslı ve modern veritabanı yönetimi.

📂 Proje Yapısı

Spyping/
├── Controllers/           # İş mantığını yöneten sınıflar
│   ├── AppController.cs
│   └── HomeController.cs
│
├── Data/
│   └── AppDbContext.cs    # Entity Framework Core veritabanı context'i
│
├── Migrations/            # Veritabanı şema değişiklikleri
│
├── Models/                # Veri modelleri
│   ├── Users.cs
│   ├── ServerInfo.cs
│   ├── EmailSettings.cs
│   └── ErrorViewModel.cs
│
├── Services/              # Arka plan servisleri
│   ├── PingService.cs
│   └── EmailService.cs
│
├── Views/                 # UI katmanı
│   ├── App/
│   ├── Home/
│   └── Shared/
│
├── wwwroot/               # Statik dosyalar (css, js, ikonlar)
│
├── Program.cs             # Uygulamanın giriş noktası
├── Spyping.csproj         # Proje ayarları
├── Spyping.sln            # Çözüm dosyası
└── appsettings.example.json # Yapılandırma şablonu

⚙️ Kullanılan Teknolojiler

  • ASP.NET Core MVC – Web uygulaması çatısı
  • Entity Framework Core – ORM & veritabanı yönetimi
  • PostgreSQL – Veritabanı
  • BackgroundService – Otomatik periyodik işlemler
  • SMTP (Gmail) – E-posta bildirimleri

🔑 Yapılandırma

Uygulama yapılandırması appsettings.json dosyasında yapılır.
Repoda örnek olarak appsettings.example.json verilmiştir.

⚠️ Not: Bu dosyada gerçek bilgiler bulunmaz, sadece örnektir.
Kendi ortamınız için appsettings.json oluşturup doldurmanız gerekir.

Kendi ortamında çalıştırmadan önce dosyayı kopyalayarak gerekli alanları doldur:

cp appsettings.example.json appsettings.json

📧 Gmail App Password Oluşturma

Uygulamanın e-posta gönderebilmesi için uygulama şifresi (App Password) gerekir.

  1. Google hesabınıza giriş yapın → https://myaccount.google.com
  2. 2 Adımlı Doğrulama (2FA) özelliğini açın.
  3. "Güvenlik" → "Uygulama şifreleri" menüsüne gidin.
  4. Yeni bir şifre oluşturun (örneğin Mail → Windows Computer).
  5. Google size 16 karakterlik bir uygulama şifresi verecektir. Bu şifreyi appsettings.json içine koyun.

▶️ Çalıştırma

# Bağımlılıkları yükle
dotnet restore

# Veritabanını migrate et
dotnet ef database update

# Uygulamayı çalıştır
dotnet run

Uygulama varsayılan olarak https://localhost:5001 adresinde çalışacaktır.


📧 Bildirim Mekanizması

  • PingService → Belirli periyotlarla tanımlı sunuculara ping atar.
  • EmailService → Sunucu erişilemez hale gelirse ilgili kullanıcıya e-posta bildirimi gönderir.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors