- Proje Hakkında
- Teknik Altyapı
- Özellikler
- Veritabanı Yapısı
- API ve Endpoint'ler
- Güvenlik Önlemleri
- Kullanım Senaryoları
- Teknik Detaylar
- Gelecek Planları
- SSS
Smart Doc Insight, öğrencilerin PDF formatındaki proje dokümanlarını yükleyebildiği ve öğretmenlerin bu dokümanları yapay zeka ile analiz edebildiği bir web uygulamasıdır.
- Öğrenciler
- Öğretmenler
- Eğitim Kurumları
- Proje Yöneticileri
- Öğrenci projelerinin hızlı ve etkili değerlendirilmesi
- Yapay zeka destekli doküman analizi
- Proje takibi ve yönetimi
- Eğitim süreçlerinin dijitalleştirilmesi
- Framework: Flask (Python)
- Veritabanı: MongoDB
- Kimlik Doğrulama: Flask-Login
- API Güvenliği: CORS, JWT
- Dosya İşleme: PDF Plumber
- Framework: Flask Templates
- CSS Framework: Bootstrap
- JavaScript: Vanilla JS
- Responsive Tasarım: Bootstrap Grid
- Yerel LLM'ler:
- Ollama
- LM Studio
- API Tabanlı LLM'ler:
- OpenAI GPT
- Google Gemini
- Anthropic Claude
- Öğrenci ve öğretmen rolleri
- Güvenli giriş/çıkış sistemi
- Profil yönetimi
- Şifre sıfırlama
- PDF yükleme ve saklama
- Otomatik doküman analizi
- Çoklu dosya desteği
- Dosya organizasyonu
- Proje oluşturma ve düzenleme
- Grup çalışması desteği
- İlerleme takibi
- Geri bildirim sistemi
- Yapay zeka destekli içerik analizi
- Özetleme ve önemli noktaların çıkarılması
- Plagiarism kontrolü
- Öneriler ve geri bildirimler
{
_id: ObjectId,
username: String,
email: String,
password_hash: String,
role: String, // "student" veya "teacher"
created_at: Date
}{
_id: ObjectId,
name: String,
description: String,
group_members: [{
user_id: ObjectId,
name: String,
responsibility: String
}],
created_by: ObjectId,
files: [{
filename: String,
path: String,
upload_date: Date,
file_id: String
}],
analysis: [{
file_id: String,
content: String,
analyzed_at: Date
}],
created_at: Date
}{
_id: ObjectId,
user_id: ObjectId,
provider: String,
api_key: String,
model: String,
created_at: Date,
updated_at: Date
}// Tüm öğretmenleri bul
db.users.find({role: "teacher"})
// Email ile kullanıcı bul
db.users.findOne({email: "ornek@email.com"})// Son eklenen projeler
db.projects.find().sort({created_at: -1}).limit(5)
// Kullanıcının projeleri
db.projects.find({created_by: ObjectId("user_id")})// Belirli bir dosyanın analizlerini bul
db.projects.find({
"files.file_id": "file_id"
}, {
"analysis": 1
})POST /auth/login- GirişPOST /auth/register- KayıtPOST /auth/logout- ÇıkışPOST /auth/reset-password- Şifre sıfırlama
GET /projects- Projeleri listelePOST /projects- Yeni proje oluşturGET /projects/<id>- Proje detayıPUT /projects/<id>- Proje güncelleDELETE /projects/<id>- Proje sil
POST /projects/<id>/files- Dosya yükleGET /projects/<id>/files- Dosyaları listeleDELETE /projects/<id>/files/<file_id>- Dosya sil
POST /projects/<id>/analyze- Analiz başlatGET /projects/<id>/analysis- Analiz sonuçları
- JWT token kullanımı
- Şifre hashleme (Werkzeug)
- Oturum yönetimi
- Güvenli çıkış
- API anahtarı şifreleme
- Hassas veri maskeleme
- CORS yapılandırması
- Rate limiting
- Dosya tipi kontrolü
- Boyut sınırlaması
- Güvenli dosya isimlendirme
- Antivirüs taraması
- Sisteme giriş yap
- Yeni proje oluştur
- PDF dokümanları yükle
- Analiz sonuçlarını görüntüle
- Geri bildirimleri al
- Sisteme giriş yap
- Öğrenci projelerini görüntüle
- Yapay zeka analizlerini incele
- Geri bildirim sağla
- İlerlemeyi takip et
- Python 3.8+
- MongoDB
- LLM Sağlayıcıları
- Gerekli Python paketleri
flask==2.3.3
flask-login==0.6.2
flask-cors==6.0.0
pymongo>=4.6.3
python-dotenv==1.0.0
pdfplumber==0.10.1
requests>=2.32.0
Werkzeug==2.3.8MONGO_URI=mongodb://localhost:27017/smart_doc_insight
SECRET_KEY=your_secret_key
LLM_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434- Mobil uygulama geliştirme
- Daha fazla LLM entegrasyonu
- Gelişmiş analiz özellikleri
- Performans optimizasyonları
- Çoklu dil desteği
- Gerçek zamanlı işbirliği
- Gelişmiş raporlama
- API geliştirme
-
Proje kimler için uygundur?
- Eğitim kurumları
- Öğrenciler
- Öğretmenler
- Proje yöneticileri
-
Hangi dosya formatları destekleniyor?
- Şu an için sadece PDF
- Gelecekte diğer formatlar eklenecek
-
Yapay zeka analizi nasıl çalışıyor?
- Yerel veya API tabanlı LLM'ler kullanılıyor
- Doküman içeriği analiz ediliyor
- Önemli noktalar çıkarılıyor
- Geri bildirimler oluşturuluyor
-
Veritabanı yedekleme nasıl yapılıyor?
- MongoDB'nin yerleşik yedekleme araçları
- Otomatik yedekleme planlaması
- Yedekleme doğrulama
-
Ölçeklenebilirlik nasıl sağlanıyor?
- MongoDB sharding
- Load balancing
- Caching mekanizmaları
-
Güvenlik nasıl sağlanıyor?
- JWT token kullanımı
- Şifreleme
- Rate limiting
- CORS yapılandırması
-
Nasıl başlayabilirim?
- Kayıt ol
- Giriş yap
- Proje oluştur
- Dosya yükle
-
Analiz sonuçları nasıl yorumlanır?
- Önemli noktalar
- Öneriler
- Geri bildirimler
- İyileştirme alanları
-
Grup çalışması nasıl yapılır?
- Proje oluştur
- Üye ekle
- Görev dağılımı yap
- İlerlemeyi takip et
-
Önemli Noktalar
- Projenin amacını vurgula
- Teknik detayları basit anlat
- Canlı demo göster
- Kullanım senaryolarını paylaş
-
Hazırlık
- Test verileri hazırla
- Demo senaryoları planla
- Sorulara hazırlan
- Teknik sorunlara karşı yedek planlar oluştur
-
Sunum Sırası
- Proje tanıtımı
- Teknik altyapı
- Özellikler
- Demo
- Soru-cevap