Projelerim

Geliştirdiğim web uygulamaları, tasarımlar ve açık kaynak kodlu çalışmalarım.

ASP.NET Core ile TechWave RESTful API ve Katmanlı Mimari Projesi
GitHub ★ Açık Kaynak

ASP.NET Core ile TechWave RESTful API ve Katmanlı Mimari Projesi

Proje Hakkında Bu proje, modern kurumsal yazılım geliştirme standartlarına uygun olarak .NET ve ASP.NET Core platformu üzerinde inşa edilmiş ölçeklenebilir bir TechWave RESTful API servisidir. Teknoloji ürünleri ve servis yönetimini simüle eden bu platform; yüksek performanslı veri işleme, gevşek bağlılık (Loose Coupling) ve sürdürülebilir kod prensiplerini merkeze alarak temiz bir arka plan mimarisi sunar. --- Öne Çıkan Özellikler ve Mimari Çok Katmanlı Mimari (N-Tier Architecture): İş mantığı, veri erişim katmanı ve API sunum katmanı birbirinden bağımsız modüller halinde yapılandırılmıştır. Entity Framework Core & ORM Entegrasyonu: Veritabanı modellemeleri, ilişkisel tablolar ve CRUD operasyonları modern Code-First yaklaşımıyla yönetilmektedir. DTO (Data Transfer Object) Deseni: Veritabanı varlıklarının doğrudan dış dünyaya açılmasını engelleyerek güvenli ve kontrollü veri transferi sağlanmıştır. Merkezi Hata Yönetimi (Global Exception Handling): Sistem genelindeki beklenmeyen hataları ve doğrulama aksaklıklarını yakalayıp istemciye standart JSON formatında yanıt dönen özel Middleware yapısı kurgulanmıştır. Swagger / OpenAPI Entegrasyonu: Tüm API uç noktalarının dokümantasyonu ve test süreçleri interaktif arayüz üzerinden yapılandırılmıştır. --- Teknoloji Yığını Çatı / Platform: .NET & ASP.NET Core Web API Programlama Dili: C Veri Tabanı & ORM: Entity Framework Core, SQL Server / PostgreSQL Dokümantasyon: Swagger / OpenAPI Test Araçları: Postman / REST Client --- Temel API Uç Noktaları (Endpoints) GET /api/v1/products — Sistemdeki ürün ve teknoloji kataloğunu listeler. GET /api/v1/products/{id} — ID bazlı ürün detaylarını getirir. POST /api/v1/products — Yeni teknoloji ürünü kaydı oluşturur. PUT /api/v1/products/{id} — Mevcut ürün bilgilerini günceller. DELETE /api/v1/products/{id} — Belirtilen ürünü katalogdan siler.

.NET ile Temel Backend ve Nesne Yönelimli Programlama (OOP) Pratikleri
GitHub ★ Açık Kaynak

.NET ile Temel Backend ve Nesne Yönelimli Programlama (OOP) Pratikleri

Proje Hakkında Bu proje, kurumsal backend mimarilerinin temel yapı taşlarından biri olan modern .NET / C ekosistemine giriş yapmak ve nesne yönelimli programlama (OOP) prensiplerini pekiştirmek amacıyla geliştirilmiş pratik odaklı bir backend çalışmasıdır. C dilinin tip güvenliği, katı sözdizimi ve çalışma zamanı yeteneklerini deneyimlemeyi hedefleyen bu depo; temel veri yapıları, sınıflar, arayüzler ve modern .NET mimarisinin çekirdek mekanizmalarını temiz kod (Clean Code) standartlarıyla ele alır. --- Öne Çıkan Özellikler ve Mimari Nesne Yönelimli Programlama (OOP): Kapsülleme (Encapsulation), kalıtım (Inheritance) ve polimorfizm prensiplerine uygun sınıf ve arayüz kurgusu. Tip Güvenliği ve Temiz Kod: C'ın güçlü tip denetimi ve modern sözdizimi avantajları kullanılarak yazılmış hataya dayanıklı kod yapısı. Modüler Kod Organizasyonu: Mantıksal sorumlulukların net şekilde ayrıldığı, okunabilir ve sürdürülebilir proje yapısı. Konsol / Servis Mantığı: Arka plan işleyişlerini, veri manipülasyonunu ve temel iş kurallarını simüle eden işlevsel metotlar. --- Teknoloji Yığını Dil: C Framework / Platform: .NET Mimari Yaklaşım: Nesne Yönelimli Programlama (OOP), SOLID İlkeleri Geliştirme Ortamı: Visual Studio / VS Code --- Proje İçeriği ve Odak Alanları Temel C sözdizimi ve modern dil özellikleri Sınıf (Class) ve Arayüz (Interface) tanımları ile sözleşme tabanlı geliştirme Metot yapıları, parametre yönetimi ve veri dönüşümleri Hata yakalama ve kontrol akışlarının yönetimi

Node.js & Express ile Rol Bazlı (RBAC) ve JWT Destekli E-Ticaret API'si
GitHub ★ Açık Kaynak

Node.js & Express ile Rol Bazlı (RBAC) ve JWT Destekli E-Ticaret API'si

Proje Hakkında Bu proje; kurumsal e-ticaret platformlarının ihtiyaç duyduğu güvenli kimlik doğrulama, oturum yönetimi ve yetkilendirme süreçlerini karşılamak amacıyla Node.js ve Express.js kullanılarak geliştirilmiş çok rollü bir E-Ticaret RESTful API servisidir. Sistem; kullanıcıların güvenli şekilde sisteme kaydolmasını, şifreli kimlik doğrulamasıyla oturum açmasını ve sahip oldukları rollere (Admin, Satıcı/Instructor, Müşteri/Öğrenci) göre yetkilendirilmiş özel rotalara güvenle erişebilmesini sağlar. --- Öne Çıkan Özellikler ve Mimari Rol Bazlı Erişim Denetimi (RBAC): Kullanıcı rollerine göre uç noktaları (endpoints) sınırlandıran ve yetkisiz erişimleri 403 Forbidden ile engelleyen özel Yetki Ara Yazılımları (Authorization Middleware) kurgulanmıştır. Güvenli Kimlik Doğrulama (JWT & Stateless Auth): Kullanıcı oturumları sunucu belleğini yormayan durumsuz JSON Web Token (JWT) standardıyla yönetilmektedir. Parola Güvenliği ve Hashing: Kullanıcı parolaları veritabanında asla açık metin tutulmaz; Bcrypt kütüphanesi ve tuzlama (Salting) mekanizması ile tek yönlü olarak hash'lenir. Katmanlı Mimari (Separation of Concerns): Rotalar (Routes), Giriş/Doğrulama Denetleyicileri (Controllers) ve Güvenlik Ara Yazılımları (Middleware) modüler katmanlara bölünmüştür. API Güvenlik Duvarı: Kaba kuvvet (Brute Force) saldırılarına karşı IP başına istek sınırlaması (Rate Limiting) ve HTTP başlık güvenliği standartları uygulanmıştır. --- Teknoloji Yığını Runtime Environment: Node.js Web Framework: Express.js Kimlik Doğrulama ve Güvenlik: JSON Web Token (jsonwebtoken), Bcrypt, Express Rate Limit Modül Yapısı: ES Modules (ESM) API Test ve Dokümantasyon: Postman / REST Client --- Temel API Rotaları (Endpoints) POST /api/v1/auth/register — Yeni kullanıcı kaydı oluşturur ve parolayı hash'ler. POST /api/v1/auth/login — Kimlik doğrulaması yapar ve imzalı JWT token döner. GET /api/v1/products — Tüm kullanıcıların erişebildiği açık ürün listesi. POST /api/v1/products — Sadece 'Admin' veya 'Vendor' yetkisine sahip kullanıcıların ürün ekleyebileceği korumalı rota. GET /api/v1/admin/users — Sadece 'Admin' rolüne özel kullanıcı yönetim ve raporlama rotası.

Node.js & Express ile Dünya Kupası (World Cup) RESTful API
GitHub ★ Açık Kaynak

Node.js & Express ile Dünya Kupası (World Cup) RESTful API

Proje Hakkında Bu proje, futbol Dünya Kupası turnuvalarına ait takım, maç, grup ve istatistik verilerini yönetmek amacıyla Node.js ve Express.js kullanılarak geliştirilmiş modüler bir Dünya Kupası RESTful API servisidir. Frontend sistemlerinden bağımsız olarak çalışan bu servis; turnuva verilerinin sorgulanması, filtreleme, yeni maç/takım verisi eklenmesi ve mevcut kayıtların yönetilmesi (CRUD) süreçlerini standart HTTP protokolleri üzerinden sunar. --- Öne Çıkan Özellikler ve Mimari Katmanlı Mimari (Separation of Concerns): Rotalar (Routes), Denetleyiciler (Controllers) ve İş Mantığı (Services) katmanları temiz kod ilkelerine uygun olarak modüler yapıda kurgulanmıştır. RESTful API Standartları: Anlamlı kaynak adlandırmaları (/api/v1/matches, /api/v1/teams), doğru HTTP metodları (GET, POST, PUT, DELETE) ve standart yanıt kodları (200 OK, 201 Created, 404 Not Found) kullanılmıştır. Modern ES Modules (ESM): Geleneksel CommonJS yerine güncel JavaScript import/export standartlarıyla yazılmıştır. Merkezi Hata Yönetimi (Global Error Handling): Rotalarda oluşabilecek teknik aksaklıkları ve bulunamayan kaynakları yakalayarak istemciye standart JSON formatında yanıt dönen ara yazılım (Middleware) mimarisi entegre edilmiştir. --- Teknoloji Yığını Runtime Environment: Node.js Web Framework: Express.js Modül Yapısı: ES Modules (ESM) API Test ve Dokümantasyon: Postman / REST Client --- Temel API Rotaları (Endpoints) GET /api/v1/teams — Turnuvaya katılan takımları listeler. GET /api/v1/matches — Tüm maç sonuçlarını ve fikstürü getirir. GET /api/v1/matches/:id — Spesifik bir maçın detay verisini sunar. POST /api/v1/matches — Yeni bir maç sonucu/verisi kaydeder. PUT /api/v1/matches/:id — Belirtilen maçın skor veya detay bilgilerini günceller. DELETE /api/v1/matches/:id — Belirtilen maçı sistemden siler.

Node.js & Express ile E-Ticaret Ürün Yönetim API'si
GitHub ★ Açık Kaynak

Node.js & Express ile E-Ticaret Ürün Yönetim API'si

Proje Hakkında Bu proje, e-ticaret sistemlerinin ihtiyaç duyduğu ürün yönetimi süreçlerini karşılamak amacıyla Node.js ve Express.js kullanılarak geliştirilmiş modüler bir E-Ticaret Ürün RESTful API servisidir. Katmanlı mimari prensiplerine uygun olarak kurgulanan sistem; ürünlerin listelenmesi, tekil ürün detaylarının getirilmesi, yeni ürün eklenmesi, ürün bilgilerinin güncellenmesi ve silinmesi (CRUD) işlemlerini standart HTTP protokolleri üzerinden gerçekleştirir. --- Öne Çıkan Özellikler ve Mimari Katmanlı Mimari (Separation of Concerns): Kod karmaşasını engellemek amacıyla Rotalar (Routes), Denetleyiciler (Controllers) ve İş Mantığı (Services) katmanları birbirinden tamamen ayrılmıştır. RESTful API Standartları: Anlamlı kaynak adlandırmaları (/api/v1/products), doğru HTTP metodları (GET, POST, PUT, DELETE) ve standart HTTP yanıt kodları (200 OK, 201 Created, 400 Bad Request, 404 Not Found) kullanılmıştır. Modern ES Modules (ESM): import/export yapısıyla modern JavaScript standartlarında kodlanmıştır. Merkezi Hata Yönetimi (Global Error Handling): Rotalarda veya iş mantığında oluşan teknik arızaları ve doğrulama hatalarını yakalayarak istemciye tutarlı JSON yanıtları fırlatan ara yazılım (Middleware) mimarisi kurulmuştur. --- Teknoloji Yığını Runtime Environment: Node.js Web Framework: Express.js Modül Yapısı: ES Modules (ESM) API Test ve Dokümantasyon: Postman / REST Client --- Temel API Rotaları (Endpoints) GET /api/v1/products — Sistemdeki tüm ürünleri listeler. GET /api/v1/products/:id — ID değerine göre ilgili ürünün detayını getirir. POST /api/v1/products — Yeni bir ürün oluşturur (Ad, Fiyat, Kategori). PUT /api/v1/products/:id — Belirtilen ürünün bilgilerini günceller. DELETE /api/v1/products/:id — Belirtilen ürünü sistemden siler.

Node.js & Express ile RESTful Not Yönetim API'si
GitHub ★ Açık Kaynak

Node.js & Express ile RESTful Not Yönetim API'si

Proje Hakkında Bu proje, modern backend geliştirme standartlarına uygun olarak Node.js ve Express.js kullanılarak inşa edilmiş modüler bir Not Yönetim RESTful API servisidir. Frontend bağımsız, ölçeklenebilir ve temiz kod (Clean Code) ilkeleri hedeflenerek geliştirilen bu sistem; not oluşturma, okuma, güncelleme ve silme (CRUD) süreçlerini standart HTTP protokolleri üzerinden yönetir. --- 🚀 Öne Çıkan Özellikler ve Mimari Katmanlı Mimari (Separation of Concerns): Rotalar (Routes), denetleyiciler (Controllers) ve iş mantığı (Services) katmanları mantıksal olarak birbirinden ayrılmıştır. RESTful API Standartları: Doğru HTTP metodları (GET, POST, PUT, DELETE) ve anlamlı HTTP durum kodları (200 OK, 201 Created, 400 Bad Request, 404 Not Found) kullanılmıştır. Modern ES Modules (ESM): Geleneksel CommonJS yerine güncel JavaScript import/export standartlarına sadık kalınmıştır. Merkezi Hata Yönetimi (Global Error Handling): Beklenmeyen sunucu hatalarını ve eksik parametre durumlarını yakalayıp istemciye tutarlı JSON yanıtları dönen Middleware yapısı kurgulanmıştır. --- 🛠️ Teknoloji Yığını Runtime Environment: Node.js Web Framework: Express.js Modül Yapısı: ES Modules (ESM) API Test & Dokümantasyon: Postman / REST Client --- 📌 Temel API Rotaları (Endpoints) GET /api/v1/notes — Tüm notları listeler. GET /api/v1/notes/:id — ID bazlı spesifik not detayını getirir. POST /api/v1/notes — Yeni not oluşturur. PUT /api/v1/notes/:id — Mevcut notu günceller. DELETE /api/v1/notes/:id — Notu sistemden siler.