v2.1.0 - AI-Powered ABAP Code Analysis & Modernization Platform
ABAP AI Cockpit Pro, Google Gemini AI ile entegre SAP CAP (Cloud Application Programming) uygulamasıdır. ABAP kodunuzu 7 farklı modda analiz eder ve modernize eder.
-
🎨 Modern UI/UX: SAP Horizon teması, Splitter Layout, Responsive tasarım.
-
🤖 7 Farklı Analiz Modu:
- Clean Code: Eski syntax'ı yeni (inline) syntax'a çevirir.
- Explainer: Karmaşık kod bloklarını satır satır açıklar.
- Security Scan: SQL Injection ve yetki eksikliklerini tarar.
- Unit Test: Otomatik cl_abap_unit_assert test sınıfları üretir.
- Documentation: Teknik dokümantasyon oluşturur.
- Performance: Performans iyileştirme önerileri sunar.
- Refactoring: Kodu SOLID prensiplerine göre yeniden düzenler.
-
🔍 GitHub Entegrasyonu: Benzer kod örneklerini GitHub üzerinde arar.
-
📊 S/4HANA Check: Kodun S/4HANA uyumluluğunu denetler ve PDF raporlar.
-
📈 Code Metrics: Kod karmaşıklığını ve kalite metriklerini ölçer.
-
🆚 Diff Tool: Orijinal ve modernize edilmiş kodu yan yana karşılaştırır.
-
📚 Kod Şablonları: Hazır ABAP şablonları (Class, Report, Function, ALV)
-
📜 Analiz Geçmişi: Son 50 analizi kaydetme ve yeniden kullanma
-
⚙️ Gelişmiş Ayarlar: Tema yönetimi, editor ayarları, AI parametreleri
-
💾 LocalStorage: Ayarlar ve geçmiş tarayıcıda saklanır
-
🌙 Dark Mode: Otomatik veya manuel tema değiştirme
- Node.js: >= 18.0.0
- npm: >= 9.0.0
- Google AI API Key: AI Studio'dan alın
- Projeyi Klonlayın
git clonen https://github.com/tkn24/ai_project_v2.1.git
cd ai_project_v2- Bağımlılıkları Yükleyin
npm install- API Key Yapılandırması
Seçenek 1 - Environment Variable (Önerilen - Production)
# Windows PowerShell
$env:GOOGLE_API_KEY="YOUR_GEMINI_KEY_HERE"
$env:GITHUB_TOKEN="YOUR_GITHUB_TOKEN_HERE"
# Linux/Mac
export GOOGLE_API_KEY="YOUR_GEMINI_KEY_HERE"
export GITHUB_TOKEN="YOUR_GITHUB_TOKEN_HERE"Seçenek 2 - .env Dosyası Proje içerisinde .env_examp klasörü mevcut.
# Kök dizinde .env dosyası oluşturun
GOOGLE_API_KEY=YOUR_GEMINI_KEY_HERE
GITHUB_TOKEN=YOUR_GITHUB_TOKEN_HERESeçenek 3 - Kod İçinde (Development Only)
// srv/service.js dosyasında AI_CONFIG.GOOGLE_API_KEY değişkenini güncelleyin- Uygulamayı Başlatın
npm start- Tarayıcıda Açın
http://localhost:4004/project1/index.html
- Kod Girin: Sol editöre ABAP kodunuzu yapıştırın
- Mod Seçin: Yukarıdan bir analiz modu seçin
- Analiz Edin: "Analizi Başlat" butonuna tıklayın
- Sonucu Görün: Sağ editörde AI sonucunu görüntüleyin
- Header'daki "📚 Şablonlar" butonuna tıklayın
- Kategori seçin (Class, Report, Function, ALV)
- Şablonu seçip "Kullan" butonuna tıklayın
- "📜 Geçmiş" butonuna tıklayın
- Önceki analizleri görün ve filtreleyin
- İstediğiniz kaydı seçip "Yeniden Kullan" yapın
"⚙️ Ayarlar" menüsünden:
- Tema modunu değiştirin (Otomatik/Aydınlık/Karanlık)
- Editor font boyutunu ayarlayın
- AI model ve parametreleri seçin
- Verileri dışa aktarın
ai_project_v2/
├── app/ # UI katmanı
│ └── project1/
│ └── webapp/
│ ├── controller/ # Controller dosyaları
│ │ └── View1.controller.js
│ ├── view/ # View dosyaları
│ │ ├── View1.view.xml
│ │ └── fragments/ # Reusable fragments
│ │ ├── CodeTemplates.fragment.xml
│ │ ├── Settings.fragment.xml
│ │ └── AnalysisHistory.fragment.xml
│ ├── css/
│ │ └── style.css # Modern CSS framework
│ ├── i18n/ # Internationalization
│ └── manifest.json # App config
├── srv/ # Backend servisleri
│ ├── service.cds # Service tanımları
│ └── service.js # AI entegrasyon logic
├── package.json
└── README.md
srv/service.js dosyasında:
const AI_MODELS = {
FAST: 'gemini-2.5-flash', // Hızlı yanıtlar için
ADVANCED: 'gemini-2.5-flash', // Karmaşık analizler için
STABLE: 'gemini-2.5-flash' // Stabil performans için
};UI'dan veya kod içinden ayarlanabilir:
generationConfig: {
temperature: 0.7, // 0.0-1.0 arası (düşük: tutarlı, yüksek: yaratıcı)
maxOutputTokens: 4096, // Maksimum çıktı uzunluğu
topP: 0.95,
topK: 40
}app/project1/webapp/css/style.css dosyasında tüm renkler ve tema değişkenleri tanımlıdır:
:root {
--primary-color: #3b82f6;
--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
--glass-bg: rgba(255, 255, 255, 0.1);
/* ... */
}Otomatik tema algılama veya manuel geçiş:
- Header'daki "🎨 Tema" butonunu kullanın
- Ayarlardan kalıcı olarak değiştirin
- Sample ABAP kodu yapıştırın:
REPORT z_test.
DATA lv_text TYPE string.
lv_text = 'Hello World'.
WRITE: / lv_text.- Her bir modu test edin (CLEAN, EXPLAIN, SECURITY, vs.)
- Sonuçların döndüğünü doğrulayın
// Test 1: Clean Code Mode
Input: Classic ABAP code with DATA statements
Expected: Inline declarations, field-symbols
// Test 2: Security Mode
Input: Code with EXEC SQL
Expected: SQL injection warnings
// Test 3: Unit Test Mode
Input: Simple method
Expected: AUnit test classnpm run build
cf pushcf set-env <app-name> GOOGLE_API_KEY <your-key>FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
ENV GOOGLE_API_KEY=your_key_here
CMD ["npm", "start"]Problem: ❌ API KEY tanımlı değil!
Çözüm:
- Environment variable'ı kontrol edin:
echo $GOOGLE_API_KEY srv/service.jsdosyasında AI_CONFIG'i kontroll edin- Yeni API key alın: https://aistudio.google.com/app/apikey
Problem: 429: Kota aşıldı
Çözüm:
- Yarın tekrar deneyin (ücretsiz tier daily limit)
- Ücretli plana geçin
- Daha az request gönderin
Problem: Beyaz ekran
Çözüm:
- Browser console'u kontrol edin (F12)
npm startçıktısında hata var mı bakın- Port 4004 açık mı kontrol edin:
netstat -an | findstr 4004
- Modern UI/UX with glassmorphism
- 7 analiz modu
- Kod şablonları
- Analiz geçmişi
- Gelişmiş ayarlar
- Dark mode
- LocalStorage persistence
- AI Chat İnterface
- Batch analysis (çoklu dosya)
- Custom prompts (kullanıcı tanımlı)
- Export to PDF/Word
- Real-time collaboration
- VSCode extension
Katkılarınızı bekliyoruz!
- Fork edin
- Feature branch oluşturun (
git checkout -b feature/AmazingFeature) - Commit edin (
git commit -m 'Add some AmazingFeature') - Push edin (
git push origin feature/AmazingFeature) - Pull Request açın
MIT License - detaylar için LICENSE dosyasına bakın.
Proje Linki: https://github.com/tkn24/ai_project_v2.1
Issues: https://github.com/tkn24/ai_project_v2.1/issues