Google Drive ya da Dropbox'a benzer şekilde çalışan, dosya ve klasör hiyerarşinizi rahatça yönetebileceğiniz bir bulut depolama uygulaması geliştirdim. Arka uçta .NET 8 ile Temiz Mimari (Clean Architecture) prensiplerine uygun bir yapı kurdum.
- Klasör Yükleme: Klasörleri, içindeki alt dizin yapısını bozmadan orijinal haliyle yükleyebilirsiniz.
- Çoklu Dosya Yükleme: Birden fazla dosyayı aynı anda yükleyebilir, anlık ilerleme çubuğuyla süreci takip edebilirsiniz.
- Büyük Dosya Desteği: 500 MB'a kadar büyük boyutlu dosyaları sorunsuz biçimde yükleyebilirsiniz.
- Toplu İşlemler: Birden fazla dosya veya klasörü seçerek hızlı ve paralel silme işlemleri gerçekleştirebilirsiniz.
- Tarayıcıda Önizleme: Resim, PDF ve metin dosyalarını bilgisayarınıza indirmeden doğrudan tarayıcı üzerinden görüntüleyebilirsiniz.
- Kolay Gezinme (Breadcrumb): Derin klasör yapılarında bile kaybolmadan rahatça gezinebilirsiniz.
- Dinamik Pencereler (Modal): Klasör oluşturma, yeniden adlandırma ve silme onayları için kullanıcı dostu açılır pencereler tasarladım.
- Katmanlı Mimari: Standartlara uygun N-Layer (Core, DataAccess, Business, API) yapısı kurdum; Generic Repository ve Unit of Work desenlerini uyguladım.
- JWT Kimlik Doğrulama: Güvenli kullanıcı kaydı ve giriş işlemleri için JWT tabanlı bir sistem entegre ettim.
- Şifre Güvenliği: Kullanıcı parolalarını BCrypt ile kriptografik olarak şifreliyorum.
- Birim Testleri: Güvenilir ve kararlı bir test altyapısı için Moq ve xUnit kullandım.
| Kategori | Teknoloji |
|---|---|
| Framework | ASP.NET Core 8.0 |
| Mimari | Katmanlı / Temiz Mimari (Clean Architecture) |
| ORM | Entity Framework Core |
| Güvenlik | JWT (JSON Web Tokens), BCrypt.Net-Next |
| Test | xUnit, Moq |
| Frontend | React, Vite, TypeScript, Tailwind CSS |
| Veritabanı | SQL Server |
| Konteyner | Docker, Docker Compose |
Projeyi Docker ile veya lokalde çalıştırmak için adım adım talimatlar, katkı kuralları ve commit standartları için:
Bu projede sürüm numaralandırması için Anlamsal Versiyonlama (Semantic Versioning / SemVer) standardını kullanıyorum:
| Alan | Açıklama | Örnek |
|---|---|---|
MAJOR |
Geriye dönük uyumsuz (breaking) API değişiklikleri | 2.0.0 |
MINOR |
Geriye dönük uyumlu yeni özellikler | 1.1.0 |
PATCH |
Geriye dönük uyumlu hata düzeltmeleri | 1.0.1 |
main ← Kararlı, production-ready kod
develop ← Aktif geliştirme hattı
feature/* ← Yeni özellikler (develop'tan açılır, develop'a birleşir)
release/* ← Sürüm hazırlığı (develop'tan açılır, main + develop'a birleşir)
hotfix/* ← Acil hata düzeltmeleri (main'den açılır, main + develop'a birleşir)
v1.0.0 → Temel dosya/klasör yönetimi, JWT kimlik doğrulama, katmanlı mimari
v1.1.0 → Çoklu dosya yükleme, ilerleme çubuğu, tarayıcıda önizleme, toplu silme
Sürüm geçmişinin tamamına Releases sayfasından ulaşabilirsiniz.
Bu proje MIT lisansı ile lisanslanmıştır.