Synaplan
기업을 위한 오픈소스 AI 플랫폼
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗✅ SİSTEM TAMAMEN HAZIR VE ÇALIŞIR DURUMDA!
Bu proje, eğitim kurumlarının dekont doğruluğunu ve güvenilirligini kontrol etmek için tamamen ücretsiz OCR (Optical Character Recognition) ve gelişmiş kural tabanlı AI analiz sistemini içerir.
✅ Tesseract.js ile Türkçe OCR entegrasyonu ✅ Gelişmiş kural tabanlı AI analiz sistemi (OpenAI gerekmez!) ✅ Güvenlik sistemi (rate limiting, dosya doğrulama, audit logging) ✅ Admin panel entegrasyonu (tekil ve toplu analiz) ✅ TypeScript tam uyumluluğu ✅ Next.js 15 production build başarılı ✅ Responsive tasarım (desktop + mobile) ✅ Comprehensive testing ve error handling
src/
├── lib/
│ ├── ocr-service.ts # OCR işleme servisi
│ ├── ai-analysis-service.ts # AI analiz servisi
│ ├── security-validation.ts # Güvenlik doğrulama
│ └── security-config.ts # Güvenlik konfigürasyonu
├── app/
│ ├── api/admin/dekontlar/
│ │ ├── [id]/analyze/ # Tekil analiz endpoint
│ │ └── analyze/batch/ # Toplu analiz endpoint
│ └── admin/dekontlar/
│ └── page.tsx # Admin dekont sayfası
├── middleware/
│ └── security-middleware.ts # Global güvenlik middleware
└── __tests__/
└── security-validation.test.ts # Güvenlik testleri
npm install tesseract.js sharp pdf-to-png-converter
npm install --save-dev jest @types/jest ts-jest @testing-library/jest-dom
Not: OpenAI veya başka bir ücretli API gerekmez! Sistem tamamen kural tabanlı çalışır.
.env dosyasını oluşturun:
# OCR ve AI Analiz Sistemi - Tamamen Ücretsiz!
# Bu sistem kural tabanlı AI kullanır, dış API gerektirmez
# Güvenlik ayarları
ANALYSIS_RATE_LIMIT_PER_HOUR=50
BATCH_ANALYSIS_RATE_LIMIT_PER_HOUR=10
MAX_FILE_SIZE_MB=10
MAX_BATCH_SIZE=20
# OCR ayarları
OCR_MIN_CONFIDENCE=60
OCR_MAX_TEXT_LENGTH=50000
# Kural tabanlı AI ayarları
AI_MIN_RELIABILITY=0.3
AI_MAX_FORGERY_RISK=0.7
# Audit logging
SECURITY_AUDIT_ENABLED=true
SECURITY_LOG_LEVEL=INFO
npm run prisma:migrate
// API Endpoint: POST /api/admin/dekontlar/{id}/analyze
const response = await fetch(`/api/admin/dekontlar/${dekontId}/analyze`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
}
});
const result = await response.json();
// API Endpoint: POST /api/admin/dekontlar/analyze/batch
const response = await fetch('/api/admin/dekontlar/analyze/batch', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({
dekontIds: ['id1', 'id2', 'id3']
})
});
const results = await response.json();
{
"ocrAnalysisResult": {
"extractedText": "Dekont metni...",
"confidence": 85.5,
"language": "tur",
"processingTime": 2.3,
"extractedData": {
"tutar": "150.00",
"tarih": "2024-01-15",
"aciklama": "Yemek masrafı"
}
}
}
{
"aiAnalysisResult": {
"reliabilityScore": 0.85,
"forgeryRisk": 0.15,
"authenticity": "HIGH",
"dataConsistency": 0.92,
"findings": [
"Tarih formatı doğru",
"Tutar sayısal olarak geçerli",
"Açıklama makul görünüyor"
],
"recommendations": [
"Dekont güvenilir görünüyor",
"Ek kontrol gerekmiyor"
]
}
}
| İşlem | Limit | Süre |
|---|---|---|
| Tekil Analiz | 50 | 1 saat |
| Toplu Analiz | 10 | 1 saat |
| Başarısız Deneme | 20 | 1 saat |
npm run test:security
npm test
npm run test:coverage
| Kod | Açıklama |
|---|---|
| 400 | Geçersiz istek |
| 401 | Yetkisiz erişim |
| 403 | Yetersiz izin |
| 429 | Rate limit aşımı |
| 413 | Dosya çok büyük |
| 422 | OCR işleme hatası |
| 500 | Sistem hatası |
{
"timestamp": "2024-01-01T10:00:00.000Z",
"userId": "user-id",
"action": "SUCCESSFUL_DOCUMENT_ANALYSIS",
"details": {
"dekontId": "dekont-id",
"reliabilityScore": 85,
"ip": "192.168.1.1",
"userAgent": "Mozilla/5.0..."
},
"severity": "INFO"
}
Sistem, farklı güvenlik seviyelerine göre konfigüre edilebilir:
// Hızlı işleme için
OCR_MIN_CONFIDENCE=50
OCR_WORKER_POOL_SIZE=3
// Kaliteli sonuç için
OCR_MIN_CONFIDENCE=80
OCR_WORKER_POOL_SIZE=1
/api/admin/dekontlar/{id}/analyzeTekil dekont analizi
Headers:
Authorization: Bearer {token}
Content-Type: application/json
Response:
{
"success": true,
"data": {
"dekontId": "uuid",
"ocrAnalysisResult": {...},
"aiAnalysisResult": {...},
"reliabilityScore": 85,
"isAnalyzed": true,
"analyzedAt": "2024-01-01T10:00:00Z"
}
}
/api/admin/dekontlar/analyze/batchToplu dekont analizi
Body:
{
"dekontIds": ["uuid1", "uuid2", "uuid3"]
}
Response:
{
"success": true,
"data": {
"results": [...],
"summary": {
"total": 3,
"successful": 2,
"failed": 1,
"averageReliability": 78.5
}
}
}
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)Bu proje MIT lisansı altında lisanslanmıştır.
Sorunlar veya sorular için:
Son Güncelleme: 2024-01-01
Versiyon: 1.0.0
Yazarlar: Sistem Geliştirici