Skip to content

Ard4Wien/PersonalLib

Repository files navigation

PersonalLib Logo

PersonalLib

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.

Lisans Web Mobile


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.

Özellikler

  • Ç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ı.

Teknik Yığın (Tech Stack)

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ı.

Ön İzleme

Giriş Sayfası
Panel
Kullanıcı Portfolyosu

Proje Yapısı

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:

  1. Depoyu klonlayın:

    git clone https://github.com/Ard4Wien/PersonalLib.git
  2. Bağımlılıkları yükleyin:

    npm install
  3. .env dosyasına gerekli ortam değişkenlerini ekleyin (DATABASE_URL, Auth secret'ları, API anahtarları).

  4. Veritabanını hazırlayın:

    npx prisma generate
    npx prisma db push
  5. Geliştirme sunucusunu başlatın:

    npm run dev

Güvenlik

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.

Yardım

Kurulumla ilgili sorularınız veya sorun giderme için:

Katkıda Bulunma

PersonalLib'i geliştirmek için katkılarınızı bekliyoruz:

  1. Depoyu forklayın.
  2. Bir özellik dalı oluşturun (git checkout -b feature/AmazingFeature).
  3. Değişikliklerinizi kaydedin (git commit -m 'Add AmazingFeature').
  4. Dalı pushlayın (git push origin feature/AmazingFeature).
  5. Bir Pull Request açın.

Lisans

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

About

PersonalLib: Tüm okuma ve izleme yolculuğunuzu dijital bir kütüphaneye dönüştürün. Dizi, film, kitap, manga ve anime takibini tek bir yerden yapın!

Resources

Stars

Watchers

Forks

Contributors

Languages