1 · Proje Amacı
Kitap Takası, ikinci el kitapların atıl kalmak yerine topluluk içinde el değiştirmesine
olanak tanıyan, tam yığınlı (full-stack) bir web tabanlı takas platformudur. Proje; kullanıcıların kişisel
kitaplıklarını dijital ortamda oluşturmasını, başkalarının kitaplarını aramasını ve doğrudan eşler arası
(peer-to-peer) takas taleplerini yönetmesini sağlar. Böylece hem ekonomik tasarruf hem de
sürdürülebilir tüketim hedeflenmektedir.
Hedef Kitle
- Üniversite öğrencileri (ders kitabı maliyetini azaltmak isteyenler)
- Kitap tutkunları (koleksiyonunu büyütmek / tazelemek isteyenler)
- Topluluk tabanlı paylaşım ekonomisine ilgi duyan herkes
Çözülen Problem
- İkinci el kitapların geniş kitlelere ulaşamaması
- Mevcut platformlardaki karmaşık listeleme ve para akışı engelleri
- Takas sürecinin takibinde yaşanan belirsizlikler
- Kitap bilgisinin manuel girilmesinden kaynaklanan hatalar
2 · Kapsam
✅ Projeye Dahil
- Kullanıcı kayıt & giriş (bcrypt şifreleme)
- ISBN ile otomatik kitap ekleme (Google Books API)
- Başlık / yazar ile manuel kitap ekleme
- Kişisel kitaplık görüntüleme & silme
- Başlığa göre kitap arama (regex destekli)
- Takas talebi gönderme ve alma
- İsteği kabul etme & kargo durumu bildirimi
- Gelen / giden takas listesi yönetimi
- Tek Sayfa Uygulama (SPA) React arayüzü
- Backend & frontend birim testleri
🚫 Projeye Dahil Değil
- Para transferi / ödeme sistemi
- Mobil uygulama (iOS / Android)
- Gerçek zamanlı mesajlaşma / bildirim sistemi
- Kargo entegrasyonu (3. taraf lojistik API)
- Sosyal medya paylaşım özellikleri
- Yönetici (Admin) paneli & raporlama
- Çok dil desteği
- Cookie tabanlı oturum yönetimi (v2.1 kapsamı dışı)
3 · Teknoloji Yığını
| Katman |
Teknoloji |
Seçim Gerekçesi |
| Ön Yüz |
React 18, React Router v6, SCSS |
Bileşen tabanlı SPA; Virtual DOM ile yüksek performans |
| Arka Yüz |
Node.js, Express 4 |
JavaScript dil birliği; olay güdümlü, bloklamayan G/Ç |
| Veritabanı |
PostgreSQL, pg (bağlantı havuzu) |
Güçlü ilişkisel veri modeli; users–books–users_books şeması |
| Güvenlik |
bcrypt 5 (salt rounds: 12) |
Endüstri standardı parola karma; brute-force direnci |
| Harici API |
Google Books API |
ISBN'den otomatik başlık, yazar, tür bilgisi çekme |
| Test / Derleme |
Jest, Testing Library, Supertest, Webpack 5, Babel 7 |
Uçtan uca birim testi; modern JS transpile desteği |
4 · Başarı Kriterleri
İşlevsel Kriterler
- Kullanıcı 30 saniye içinde kayıt olup giriş yapabilmelidir
- ISBN girişinde kitap bilgisi API'den otomatik doldurulmalıdır
- Takas talebi karşı tarafa anlık yansımalıdır
- Tüm CRUD işlemleri hatasız tamamlanmalıdır
Kalite Kriterleri
- Şifreler hiçbir zaman düz metin olarak saklanmamalıdır
- Birim test kapsamı ≥ %70 (backend + frontend)
- Sayfa yükleme süresi < 2 saniye (yerel ağ)
- SQL injection'a karşı parametreli sorgu kullanımı
5 · Zaman Çizelgesi (Özet)
Analiz & Tasarım
Hafta 1–2
Backend Geliştirme
Hafta 3–4
Frontend Geliştirme
Hafta 4–6
Test & Entegrasyon
Hafta 7