MEB 8. Sınıf Türkçe ders kitabından metin çıkarma, temizleme ve görüntüleme projesi.
EduAnalyzer/
├── pdf_extractor/ # Backend - PDF işleme modülü
│ ├── src/
│ │ ├── models.py # Veri modelleri
│ │ ├── parser.py # PDF okuma
│ │ ├── cleaner.py # Metin temizleme
│ │ ├── exporter.py # JSON/CSV export
│ │ ├── config.py # Yapılandırma
│ │ └── main.py # Ana giriş noktası
│ ├── data/
│ │ ├── raw/ # Ham PDF dosyaları
│ │ └── processed/ # İşlenmiş JSON/CSV çıktıları
│ └── requirements.txt
│
└── viewer-app/ # Frontend - React + TypeScript
├── src/
│ ├── components/ # UI bileşenleri
│ ├── pages/ # Sayfalar
│ ├── types/ # TypeScript tip tanımları
│ ├── hooks/ # Custom React hooks
│ └── utils/ # Yardımcı fonksiyonlar
└── public/ # Statik dosyalar (JSON verisi buraya kopyalanır)
# PDF dosyasını doğru konuma kopyalayın
cp "Türkçe 8. Sınıf.pdf" pdf_extractor/data/raw/turkce_8_meb.pdf
# Sanal ortam oluşturun
cd pdf_extractor
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Bağımlılıkları yükleyin
pip install -r requirements.txt
# PDF'ten metin çıkarın
python -m src.main
# Çıktı: pdf_extractor/data/processed/turkce8_dataset.json# JSON dosyasını public klasörüne kopyalayın
cp pdf_extractor/data/processed/turkce8_dataset.json viewer-app/public/
# Bağımlılıkları yükleyin
cd viewer-app
npm install
# Geliştirme sunucusunu başlatın
npm run dev
# Tarayıcıda http://localhost:5173 adresini açın- ✅ PDF'ten sayfa sayfa metin çıkarma
- ✅ Metin temizleme (boşluklar, sayfa numaraları)
- ✅ JSON ve CSV export
- ✅ Komut satırı arayüzü
- ✅ Veri filtreleme (tema, metin türü, sayfa aralığı, arama)
- ✅ Tablo görünümünde veri listeleme
- ✅ Metin detay görünümü
- ✅ Tema, metin türü ve notlar düzenleme
- ✅ JSON ve CSV export
Her metin birimi şu alanları içerir:
id: Benzersiz ID (örn: "page_1")page: Sayfa numarasıraw_text: Ham metinclean_text: Temizlenmiş metintitle: Başlık (düzenlenebilir)theme: Tema (düzenlenebilir)text_type: Metin türü (düzenlenebilir)notes: Notlar (düzenlenebilir)
Detaylı bilgi için her modülün kendi README dosyasına bakın: