Dizi, Film, Kitap, Manga, Çizgi Roman ve Anime koleksiyonlarınızı yönetmek ve paylaşmak için kapsamlı bir dijital kütüphane ve portfolyo sistemi.
PersonalLib; farklı medya türlerini tek bir arayüzde toplamak için tasarlanmış, minimalist ve güvenli bir platformdur. Hem kişisel bir takip aracı hem de kütüphanenizi dünyaya sergileyebileceğiniz bir portfolyo görevi görür.
- Çoklu Medya Takibi: Film, dizi, kitap, manga ve anime için özel bölümler.
- İlerleme Yönetimi: "Okunuyor", "İzleniyor", "Tamamlandı" veya "İstek Listesi" gibi seçeneklerle durumunuzu takip edin.
- Adaptif Arayüz: Karanlık ve aydınlık mod desteği ile her cihazda tutarlı, premium tasarım dili.
- Genel Portfolyolar: Koleksiyonlarınızı paylaşabileceğiniz, gizlilik kontrollü profil sayfaları.
- Güvenlik Sertleştirme: İçerik Güvenliği Politikası (CSP), JWT algoritma doğrulaması ve XSS koruması.
PersonalLib, maksimum performans ve güvenilirlik için modern ve tip güvenli bir teknoloji yığını ile oluşturulmuştur:
- Frontend: Next.js 16.1 (App Router), React 19.2, Tailwind CSS, Framer Motion 12.2.
- Backend: Next.js API Routes (Serverless), Prisma 5.22 ORM.
- Veritabanı: Neon üzerinde PostgreSQL.
- Kimlik Doğrulama: Güvenli oturum yönetimi ile Auth.js (NextAuth) v5.
- Doğrulama: Zod şema doğrulaması ve güvenli API entegrasyonları.
src/
├── app/ # Next.js App Router (Sayfalar ve API Rotaları)
│ ├── api/ # Serverless backend uç noktaları
│ ├── (dashboard)/ # Kimliği doğrulanmış kullanıcı paneli
│ └── portfolio/ # Genel/Özel kullanıcı profilleri
├── components/ # Yeniden kullanılabilir UI ve düzen bileşenleri
│ ├── layout/ # Navigasyon, header ve sarmalayıcılar
│ ├── media/ # Medyaya özel kartlar ve ızgaralar
│ └── ui/ # Temel Tailwind stilli bileşenler
├── lib/ # Yardımcı fonksiyonlar, doğrulayıcılar ve istemciler
├── contexts/ # React Context sağlayıcıları (Theme, Language, ViewMode)
├── hooks/ # Özel React Hook'ları (isMobile, vb.)
└── types/ # Paylaşılan TypeScript arayüzleri ve DTO'lar
🛠️ Başlangıç (Kurulum Adımları)
Yerel bir geliştirme ortamı kurmak için:
-
Depoyu klonlayın:
git clone https://github.com/Ard4Wien/PersonalLib.git
-
Bağımlılıkları yükleyin:
npm install
-
.envdosyasına gerekli ortam değişkenlerini ekleyin (DATABASE_URL, Auth secret'ları, API anahtarları). -
Veritabanını hazırlayın:
npx prisma generate npx prisma db push
-
Geliştirme sunucusunu başlatın:
npm run dev
PersonalLib, veri bütünlüğüne ve kullanıcı güvenliğine öncelik verir:
- Sanitizasyon: Enjeksiyonu önlemek için tüm kullanıcı girişleri Zod şemaları ile doğrulanır.
- CSP: XSS risklerini azaltmak için sıkı İçerik Güvenliği Politikası (CSP) başlıkları uygulanır.
- Bot Koruması: Cloudflare Turnstile ve Google reCAPTCHA v2 ile hibrit bot doğrulaması.
- Mobil Güvenlik: Mobil uygulama için özel "Secret Header Bypass" mekanizması.
- JWT Koruması: Oturum belirteçleri için sıkı HS256 algoritma doğrulaması uygulanır.
- Hız Sınırlama: Kimlik doğrulama uç noktalarında brute-force saldırılarına karşı IP tabanlı koruma.
Kurulumla ilgili sorularınız veya sorun giderme için:
- Dökümantasyonu inceleyin.
- Ayrıntılı günlüklerle bir teknik sorun bildirin.
PersonalLib'i geliştirmek için katkılarınızı bekliyoruz:
- Depoyu forklayın.
- Bir özellik dalı oluşturun (
git checkout -b feature/AmazingFeature). - Değişikliklerinizi kaydedin (
git commit -m 'Add AmazingFeature'). - Dalı pushlayın (
git push origin feature/AmazingFeature). - Bir Pull Request açın.
Bu proje Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) kapsamında lisanslanmıştır.
- Ticari olmayan amaçlarla paylaşmakta ve uyarlamakta özgürsünüz.
- Orijinal yazara atıfta bulunulması zorunludur.
ArdaWien tarafından geliştirildi



