docs: proje dokümantasyonunu ekle

README.md ve detaylı teknik dokümantasyon dosyaları (genel bakış,
backend yapısı, frontend yapısı, teknoloji yığını) eklendi.
This commit is contained in:
2026-02-10 21:57:56 +03:00
parent 6392533387
commit 836d60da78
5 changed files with 1334 additions and 0 deletions

132
doc/proje-genel-bakis.md Normal file
View File

@@ -0,0 +1,132 @@
# Bookibra - Proje Genel Bakış
## Proje Tanımı
**Bookibra**, Amazon'dan kitap verilerini çekip sunan, barkod tarama özelliği bulunan ve kullanıcıların kendi kitap kütüphanelerini yönetebilecekleri modern bir full-stack web uygulamasıdır.
## Ana Özellikler
### 1. Kitap Arama ve Keşfetme
- ISBN ile kitap arama
- Kitap başlığı ile arama
- Yayın tarihine göre filtreleme (örn: "Kitap Adı .2020")
- Çoklu dil desteği (Türkçe/İngiliz Amazon siteleri)
### 2. Barkod Tarama
- Cihaz kamerası ile ISBN barkod tarama
- Otomatik kitap bilgisi getirme
- Mobil uyumlu tarayıcı arayüzü
### 3. Kullanıcı Yönetimi
- Kayıt olma ve giriş yapma
- JWT tabanlı kimlik doğrulama
- Profil yönetimi
### 4. Kitap Kütüphanesi
- Kitapları kaydetme (localStorage)
- Kayıtlı kitapları görüntüleme
- Kitap detaylarını inceleme
- Kitap silme
### 5. Performans ve Önbellekleme
- Redis ile önbellekleme sistemi
- Medya (kapak resmi) önbellekleme
- Amazon API çağrılarını minimize etme
## Mimari Genel Bakış
```
┌─────────────────────────────────────────────────────────────┐
│ CLIENT │
│ (React + Vite) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ HomePage │ │AddBooks │ │ MyBooks │ │ Profile │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────┘
│ HTTP/REST
┌─────────────────────────────────────────────────────────────┐
│ BACKEND API │
│ (Express + Node.js) │
│ ┌────────────┐ ┌────────────┐ ┌──────────────────────┐ │
│ │ Auth Routes│ │Book Routes │ │ Middleware │ │
│ └────────────┘ └────────────┘ │ - Auth │ │
│ │ - Error Handler │ │
│ ┌────────────┐ ┌────────────┐ │ - Request Logger │ │
│ │ Controllers│ │ Services │ └──────────────────────┘ │
│ └────────────┘ └────────────┘ │
└─────────────────────────────────────────────────────────────┘
┌───────────────────┼───────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌────────────────┐ ┌──────────────┐
│ Redis │ │ PostgreSQL │ │ Socket.IO │
│ (Cache) │ │ (Users DB) │ │ (WebSocket) │
└───────────────┘ └────────────────┘ └──────────────┘
┌─────────────────────────────────────────┐
│ External Services │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Amazon │ │ Gemini AI │ │
│ │ Scraping │ │ (Optional) │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────┘
```
## Proje Yapısı
### Dizin Hiyerarşisi
```
bookibra/
├── doc/ # Dokümantasyon
├── frontend/ # React Frontend Uygulaması
│ ├── src/
│ │ ├── components/ # React Bileşenleri
│ │ ├── pages/ # Sayfa Bileşenleri
│ │ ├── context/ # React Context API
│ │ └── main.jsx # Uygulama Giriş Noktası
│ └── package.json
├── src/ # Backend Kaynak Kodları
│ ├── config/ # Yapılandırma Dosyaları
│ ├── controllers/ # İstek Kontrolcüleri
│ ├── middleware/ # Express Middleware
│ ├── routes/ # API Rotaları
│ ├── services/ # İş Mantığı Servisleri
│ ├── utils/ # Yardımcı Fonksiyonlar
│ ├── validators/ # İstek Doğrulayıcıları
│ ├── app.js # Express Uygulaması
│ └── server.js # HTTP Sunucusu
├── docker-compose.yml # Docker Orchestration
├── Dockerfile # Backend Docker Image
└── package.json
```
## Çalışma Prensibi
### Kitap Arama Akışı
1. **Kullanıcı İsteği**: Frontend'den arama parametresi gönderilir
2. **Önbellek Kontrolü**: Redis'te önceden yapılmmış arama var mı kontrol edilir
3. **Amazon Scraping**: Önbellekte yoksa Amazon'dan veri çekilir
4. **Veri İşleme**: HTML parse edilir ve kitap bilgileri çıkarılır
5. **Önbellekleme**: Sonuçlar Redis'e kaydedilir
6. **Cevap**: İşlenmiş veri frontend'e gönderilir
### Barkod Tarama Akışı
1. **Kamera Erişimi**: React-qr-barcode-scanner ile kamera açılır
2. **Barkod Algılama**: ISBN formatında barkod algılanır
3. **ISBN Arama**: Backend'e ISBN ile kitap bilgisi istenir
4. **Kitap Gösterimi**: Bulunan kitap kullanıcıya sunulur
## Deployment
Uygulama Docker Compose ile tüm servisleri (frontend, backend, redis, postgres) tek seferde başlatmayı destekler.
---
**Son Güncelleme**: 2026-02-10
**Versiyon**: 1.0.0