- Proje Hakkında
- Özellikler
- Teknoloji Yığını
- Dosya Yapısı
- CV Oluşturucu
- Yerel Geliştirme
- Dağıtım
- Projeler
Bu depo, aydinaydmr.com.tr adresindeki kişisel portfolyo sitesinin tüm kaynak kodlarını barındırmaktadır. Site; projelerimi sergilemek, iş deneyimimi ve teknik becerilerimi paylaşmak amacıyla geliştirilmiştir.
| Alan | Detay |
|---|---|
| 🌍 Canlı Adres | aydinaydmr.com.tr |
| ☁️ Barındırma | GitHub Pages |
| 🔗 Alan Adı | Custom CNAME + DNS A Records |
| 📱 PWA | Service Worker ile çevrimdışı destek |
| 🌐 Çoklu Dil | Türkçe, İngilizce, İspanyolca |
- Responsive Tasarım — Tüm ekran boyutlarına uyumlu, mobil öncelikli yapı
- Karanlık / Aydınlık Tema — Kullanıcı tercihi localStorage'da saklanır
- Çoklu Dil Desteği — TR / EN / ES geçişi, tüm metinler
data-keyile yönetilir - PWA Desteği — Service Worker (
sw.js) ile önbellekleme ve çevrimdışı çalışma - Typing Animasyonu — İsim animasyonu ile dinamik giriş
- İnteraktif Terminal —
help,about,projects,skillskomutlarını destekleyen tarayıcı içi terminal - Beceri Radar Grafiği — SVG tabanlı animasyonlu radar chart
- Scroll İlerleme Çubuğu — Sayfa üstünde ilerleyen çubuk + scroll-to-top butonu
- İletişim Formu — reCAPTCHA doğrulamalı, e-posta gönderme entegrasyonu
- Open Graph & Twitter Card — Sosyal medya paylaşımları için meta tag desteği
- SEO Optimizasyonu — Structured meta description, title tag yönetimi
Tam özellik listesi için CV Oluşturucu bölümüne bakın.
| Katman | Teknoloji |
|---|---|
| İşaretleme | HTML5 (semantic) |
| Stil | CSS3, CSS Variables, Flexbox, Grid |
| Davranış | Vanilla JavaScript (ES6+) |
| İkonlar | Lucide Icons, Font Awesome 6 |
| Fontlar | Google Fonts |
| PWA | Service Worker API, Web App Manifest |
| Barındırma | GitHub Pages |
| Katman | Teknoloji |
|---|---|
| Framework | React 19 + TypeScript |
| Build | Vite 8 |
| PDF Üretimi | jsPDF (gerçek metin tabanlı, ATS uyumlu) |
| İkonlar | Lucide React |
| Stil | Tailwind CSS |
| Veri Kalıcılığı | localStorage |
site-kaynak/
│
├── index.html # Ana sayfa
├── privacypolicy.html # Gizlilik politikası (CepteKabin)
├── offline.html # PWA çevrimdışı yedek sayfası
├── sw.js # Service Worker (cache-v4)
├── manifest.json # PWA manifest
├── CNAME # GitHub Pages özel alan adı
├── A.ico # Favicon
│
├── css/
│ ├── style.css # Ana stil dosyası
│ └── _responsive.css # Medya sorguları (480px → 1200px)
│
├── js/
│ └── script.js # Tüm etkileşimler, i18n, animasyonlar
│
├── images/
│ ├── profile_placeholder.webp
│ └── icons/
│ ├── icon-192x192.png
│ └── icon-512x512.png
│
└── CV-olustur/ # ATS Uyumlu CV Oluşturucu (React SPA)
├── index.html
├── manifest.json
├── sw.js
├── favicon.svg
└── assets/
├── index-*.js # Bundle (Vite çıktısı)
└── index-*.css
CV/
├── index.html
├── package.json
└── src/
├── App.tsx # Ana uygulama, sekme navigasyonu
├── main.tsx
├── index.css
│
├── types/
│ └── cv.ts # CVData, Experience, Skill vb. tipler
│
├── hooks/
│ └── useCV.ts # Tüm CRUD + localStorage kalıcılığı
│
├── utils/
│ ├── pdfGenerator.ts # jsPDF tabanlı ATS uyumlu PDF üretici
│ └── atsScore.ts # ATS uyum skoru hesaplama (100 puan)
│
├── context/
│ ├── ThemeContext.tsx
│ └── LanguageContext.tsx # TR / EN / ES çeviri sistemi
│
└── components/
├── ATSScorePanel.tsx # Canlı ATS skor göstergesi
│
├── forms/
│ ├── PersonalInfoForm.tsx # Kişisel bilgiler + ünvan
│ ├── ExperienceForm.tsx # İş deneyimi (tam düzenlenebilir + bullet)
│ ├── EducationForm.tsx # Eğitim (tam düzenlenebilir + GPA)
│ ├── SkillsForm.tsx # Yetenekler (kategoriler + hızlı öneriler)
│ ├── CertificatesAndLanguages.tsx # Sertifikalar + Dil seviyeleri
│ ├── GitHubProjectsForm.tsx # GitHub API repo seçici
│ └── TemplateSelector.tsx # CV şablon seçimi
│
└── preview/
├── CVPreview.tsx # A4 önizleme bileşeni (tüm şablonlar)
└── CVPreviewPanel.tsx # Panel: PDF indir, yazdır, önizle
/CV-olustur/ altında çalışan, React + TypeScript ile geliştirilmiş tam işlevli bir SPA.
| Özellik | Açıklama |
|---|---|
| ✅ Gerçek ATS Uyumlu PDF | jsPDF ile saf metin PDF — ATS tarayıcıları içeriği doğrudan okur |
| ✅ Canlı Önizleme | Değiştikçe A4 formatında anlık güncellenen önizleme |
| ✅ 3 CV Şablonu | Classic (lacivert), Modern (mavi), Minimal (sade) |
| ✅ ATS Skor Paneli | 100 üzerinden 5 kategoride canlı uyum skoru + ipuçları |
| ✅ localStorage Kalıcılığı | Sayfa yenilemede veriler korunur |
| ✅ Tam Düzenlenebilir Formlar | Tüm iş/eğitim kayıtları kalem butonuyla inline düzenlenebilir |
| ✅ Bullet Point Sistemi | Her iş deneyimine madde listesi eklenebilir |
| ✅ Yetenek Kategorileri | Teknik / Programlama / Soft Skills + hızlı öneri butonları |
| ✅ Sertifikalar | Kurum, tarih bilgisiyle sertifika ekleme |
| ✅ Dil Seviyeleri | A1–C2 ve Anadil desteği |
| ✅ GitHub Entegrasyonu | GitHub API ile repo listesi, seçim ve özel açıklama |
| ✅ Mobil Önizleme | Mobilde "Önizle" butonu ile tam ekran overlay |
| ✅ Çoklu Dil | TR / EN / ES arayüz desteği |
| ✅ Sıfırlama Butonu | Tüm verileri ve önbelleği temizler |
Kişisel → Deneyim → Eğitim → Yetenekler → Ekstralar → GitHub → ATS
Eski html2canvas yaklaşımı sayfayı görüntüye dönüştürüyordu — ATS sistemleri bu PDF'lerdeki metni okuyamazken yeni sistem jsPDF ile gerçek metin nesneleri gömer. İşe başvuru tarayıcıları içeriği doğrudan parse edebilir.
cd CV
npm install
npm run dev # http://localhost:5173
npm run build # dist/ klasörüne derleDerlenen çıktı
CV-olustur/assets/klasörüne kopyalanarak siteyle birlikte deploy edilir.
# Repoyu klonla
git clone https://github.com/cyberQbit/site-kaynak.git
cd site-kaynak
# index.html'i doğrudan tarayıcıda aç
# veya VS Code Live Server ile çalıştırAna site saf HTML/CSS/JS ile yazıldığından herhangi bir build adımı gerektirmez.
cd CV
npm install
npm run devBu repo GitHub Pages üzerinde barındırılmaktadır. main branch'ına yapılan her push otomatik olarak canlıya alınır.
main branch'a push
↓
GitHub Pages otomatik deploy
↓
aydinaydmr.com.tr canlıya alınır
Alan adı yapılandırması:
CNAMEdosyası →aydinaydmr.com.tr- DNS: GitHub'ın IP adresleri ile A kaydı
- HTTPS: GitHub Pages üzerinden otomatik SSL
Service Worker Cache Güncelleme:
sw.js içindeki CACHE_NAME değişkenindeki sürüm numarasını artırmak yeni içeriklerin kullanıcılara ulaşmasını sağlar:
const CACHE_NAME = 'aydin-portfolio-cache-v5'; // v4 → v5Sitede sergilenen projeler:
| Proje | Teknoloji | Link |
|---|---|---|
| CepteKabin | Kotlin, C#, Mobile | github.com/cyberQbit/CepteKabin |
| MooWeather-Mobile | Flutter, Dart | github.com/cyberQbit/MooWeather-Mobile |
| MooWeather-BackEnd | C#, .NET Core, JWT REST API | github.com/cyberQbit/MooWeather-BackEnd |
| SwiftHub | Batchfile, PowerShell | github.com/cyberQbit/SwiftHub |
| CV Oluşturucu | React, TypeScript, jsPDF | aydinaydmr.com.tr/CV-olustur |
- 🌐 Website: aydinaydmr.com.tr
- 💼 LinkedIn: linkedin.com/in/aydinaydmr
- 🐙 GitHub: github.com/cyberQbit