1. 🎯 Giriş ve Proje Özeti
Bu rehber, modern web teknolojilerini kullanarak profesyonel bir portfolio website'inin nasıl oluşturulacağını adım adım anlatmaktadır. Proje süresince şu hedefleri gerçekleştirdik:
🎨 Modern Tasarım
Glassmorphism efektleri, dark/light mode desteği ve smooth animasyonlar
📱 Responsive
Tüm cihazlarda mükemmel görünüm ve kullanıcı deneyimi
⚡ Performanslı
Hızlı yüklenme, SEO optimizasyonu ve erişilebilirlik
🔧 İnteraktif
Typing animasyonları, hover efektleri ve kullanıcı etkileşimleri
💡 İpucu: Bu rehberi takip ederken, her adımda kodları test etmeyi unutmayın. Tarayıcınızın geliştirici araçlarını aktif olarak kullanın.
2. 🛠️ Kullanılan Teknolojiler
Frontend Teknolojileri
- HTML5: Semantic markup ve modern HTML özellikler
- CSS3: Grid, Flexbox, Custom Properties, Animasyonlar
- JavaScript ES6+: Modern JavaScript özellikleri
Araçlar ve Platformlar
- Visual Studio Code: Kod editörü
- Git: Versiyon kontrol sistemi
- GitHub: Kod repository ve hosting
- GitHub Pages: Ücretsiz web hosting
Tasarım Prensipleri
- Mobile-First: Önce mobil, sonra masaüstü tasarım
- Progressive Enhancement: Aşamalı iyileştirme
- Accessibility: Erişilebilirlik standartları
- Performance: Yükleme hızı optimizasyonu
3. 📋 Proje Planlama
Sayfa Yapısı Planlaması
Portfolio websitemizin ana bölümlerini planladık:
Portfolio Website Yapısı:
├── Ana Sayfa (index.html)
│ ├── Header (Profil bilgileri)
│ ├── Hakkımda bölümü
│ ├── Yetenekler (Skills)
│ ├── Projeler showcase
│ ├── Blog yazıları preview
│ ├── İletişim bilgileri
│ └── Footer
├── Blog bölümü (/blog/)
│ ├── Blog ana sayfa
│ └── Tekil blog yazıları
├── CV dosyası (/assets/)
└── Statik dosyalar (images, styles)
Tasarım Sistemi
Tutarlı bir tasarım sistemi oluşturduk:
Renk Paleti
Dark Theme:
- Primary Background: #0f172a (Koyu lacivert)
- Secondary Background: #1e293b (Orta lacivert)
- Tertiary Background: #334155 (Açık gri)
- Primary Text: #e2e8f0 (Açık gri)
- Secondary Text: #cbd5e1 (Orta gri)
- Accent Blue: #3b82f6 (Mavi)
- Accent Purple: #8b5cf6 (Mor)
- Accent Pink: #ec4899 (Pembe)
Light Theme:
- Primary Background: #f8fafc (Açık beyaz)
- Secondary Background: #e2e8f0 (Açık gri)
- Tertiary Background: #cbd5e1 (Orta gri)
- Primary Text: #1e293b (Koyu gri)
- Secondary Text: #475569 (Orta koyu gri)
Typography
Font Family: 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif
Font Sizes:
- h1: 3em (48px)
- h2: 2em (32px)
- h3: 1.5em (24px)
- Body: 1em (16px)
- Small: 0.9em (14px)
Font Weights:
- Light: 300
- Regular: 400
- Medium: 500
- Semibold: 600
- Bold: 700
4. ⚙️ Geliştirme Ortamı Kurulumu
1GitHub Repository Oluşturma
İlk adım olarak GitHub'da yeni bir repository oluşturduk:
1. GitHub.com'a giriş yapın
2. "New repository" butonuna tıklayın
3. Repository adını "username.github.io" şeklinde yazın
Örnek: efekrbs.github.io
4. "Public" seçeneğini işaretleyin
5. "Initialize with README" seçeneğini işaretleyin
6. "Create repository" butonuna tıklayın
💡 Önemli: Repository adının "username.github.io" formatında olması, GitHub Pages'in otomatik olarak bu domain'de yayınlamasını sağlar.
2Local Geliştirme Ortamı
Repository'yi local bilgisayarınıza klonlayın:
# Terminal veya Command Prompt'ta çalıştırın
git clone https://github.com/username/username.github.io.git
cd username.github.io
# İlk dosyaları oluşturun
touch index.html
touch styles.css
touch README.md
# İlk commit'i yapın
git add .
git commit -m "🎉 İlk commit: Proje başlatıldı"
git push origin main
3VS Code Kurulumu ve Extensions
Geliştirme sürecini kolaylaştıracak VS Code eklentileri:
Önerilen VS Code Extensions:
├── Live Server (Canlı preview için)
├── Prettier (Kod formatlama)
├── Auto Rename Tag (HTML tag editleme)
├── Bracket Pair Colorizer (Parantez renklendirme)
├── CSS Peek (CSS sınıf navigasyonu)
├── HTML CSS Support (IntelliSense desteği)
└── GitLens (Git özellikleri)
5. 🏗️ HTML Yapısının Oluşturulması
Temel HTML Yapısı
Semantic HTML5 elementleri kullanarak sayfa yapısını oluşturduk:
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Berat Efe Karabaş - Portfolio</title>
<meta name="description" content="Bilgisayar Mühendisliği öğrencisi portfolio sitesi">
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<header>...</header>
<main>
<section class="about">...</section>
<section class="skills">...</section>
<section class="projects">...</section>
<section class="blog">...</section>
<section class="contact">...</section>
</main>
<footer>...</footer>
</div>
</body>
</html>
Header Bölümü Detayı
Profil bilgileri ve sosyal medya linkleri için header tasarladık:
<header>
<!-- Theme Toggle Button -->
<div class="theme-toggle">
<button class="theme-btn" onclick="toggleTheme()">🌙</button>
</div>
<!-- Profile Image -->
<div class="profile-img">
<img src="images/pp.jpg" alt="Berat Efe Karabaş" class="profile-photo">
</div>
<!-- Name and Title -->
<h1>Berat Efe Karabaş</h1>
<p class="subtitle">
<span id="typing-text"></span>
<span class="cursor">|</span>
</p>
<!-- Social Links -->
<div class="social-links">
<a href="https://github.com/efekrbs" class="social-link">📧</a>
<a href="https://linkedin.com/in/efekrbs" class="social-link">💼</a>
<a href="https://github.com/efekrbs" class="social-link">🐙</a>
</div>
</header>
Skills Bölümü
Yetenekleri görsel progress bar'lar ile gösterdik:
<section class="section">
<h2>🛠️ Yeteneklerim</h2>
<div class="skills">
<div class="skill-item">
<span class="skill-icon">🐍</span>
<h3>Python</h3>
<div class="skill-bar">
<div class="skill-progress" data-width="85"></div>
</div>
<span class="skill-percent">85%</span>
</div>
<div class="skill-item">
<span class="skill-icon">☕</span>
<h3>Java</h3>
<div class="skill-bar">
<div class="skill-progress" data-width="75"></div>
</div>
<span class="skill-percent">75%</span>
</div>
<!-- Diğer skills... -->
</div>
</section>
6. 🎨 CSS ile Tasarım
CSS Custom Properties (Değişkenler)
Tutarlı tasarım için CSS değişkenleri kullandık:
:root {
/* Colors */
--primary-bg: #0f172a;
--secondary-bg: #1e293b;
--tertiary-bg: #334155;
--primary-text: #e2e8f0;
--secondary-text: #cbd5e1;
--accent-blue: #3b82f6;
--accent-purple: #8b5cf6;
--accent-pink: #ec4899;
--border-color: rgba(59, 130, 246, 0.2);
--card-bg: rgba(15, 23, 42, 0.6);
}
/* Light Theme Variables */
[data-theme="light"] {
--primary-bg: #f8fafc;
--secondary-bg: #e2e8f0;
--tertiary-bg: #cbd5e1;
--primary-text: #1e293b;
--secondary-text: #475569;
--card-bg: rgba(255, 255, 255, 0.8);
--border-color: rgba(59, 130, 246, 0.3);
}
Glassmorphism Efektleri
Modern cam efektli kartlar için backdrop-filter kullandık:
.section {
background: var(--card-bg);
backdrop-filter: blur(20px);
border: 1px solid var(--border-color);
border-radius: 20px;
padding: 40px;
margin-bottom: 30px;
box-shadow:
0 20px 40px rgba(0, 0, 0, 0.2),
inset 0 1px 0 rgba(255, 255, 255, 0.05);
transition: all 0.4s ease;
}
.section:hover {
transform: translateY(-5px);
box-shadow:
0 30px 60px rgba(0, 0, 0, 0.3),
0 0 0 1px var(--border-color);
border-color: var(--accent-blue);
}
CSS Grid ve Flexbox
Modern layout teknikleri kullanarak responsive tasarım oluşturduk:
/* Skills Grid Layout */
.skills {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 25px;
margin-top: 30px;
}
/* Projects Grid Layout */
.projects-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 30px;
margin-top: 30px;
}
/* Flexbox for Social Links */
.social-links {
display: flex;
justify-content: center;
gap: 20px;
margin: 20px 0;
}
Animasyonlar ve Transitions
Smooth geçişler ve hover efektleri ekledik:
/* Smooth Transitions */
.skill-item {
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
}
.skill-item:hover {
transform: translateY(-5px) scale(1.03);
border-color: rgba(59, 130, 246, 0.5);
box-shadow:
0 12px 25px rgba(59, 130, 246, 0.2),
0 5px 10px rgba(0, 0, 0, 0.1);
}
/* Typing Animation */
@keyframes blink {
0%, 50% { opacity: 1; }
51%, 100% { opacity: 0; }
}
.cursor {
animation: blink 1s infinite;
color: var(--accent-blue);
}
7. ⚡ JavaScript İnteraktifliği
Theme Toggle Functionality
Dark/Light mode geçişi için JavaScript fonksiyonu:
// Theme Toggle Function
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme');
const newTheme = currentTheme === 'light' ? 'dark' : 'light';
document.documentElement.setAttribute('data-theme', newTheme);
localStorage.setItem('theme', newTheme);
// Update button icon
const themeBtn = document.querySelector('.theme-btn');
themeBtn.textContent = newTheme === 'light' ? '🌙' : '☀️';
}
// Load saved theme on page load
document.addEventListener('DOMContentLoaded', function() {
const savedTheme = localStorage.getItem('theme') || 'dark';
document.documentElement.setAttribute('data-theme', savedTheme);
const themeBtn = document.querySelector('.theme-btn');
themeBtn.textContent = savedTheme === 'light' ? '🌙' : '☀️';
});
Typing Animation
Dinamik meslek unvanları için typing efekti:
// Typing Animation
const titles = [
"Bilgisayar Mühendisliği Öğrencisi",
"Python Developer",
"Algorithm Enthusiast",
"Problem Solver"
];
let currentTitle = 0;
let currentChar = 0;
let isDeleting = false;
function typeWriter() {
const typingElement = document.getElementById('typing-text');
const currentText = titles[currentTitle];
if (isDeleting) {
typingElement.textContent = currentText.substring(0, currentChar - 1);
currentChar--;
} else {
typingElement.textContent = currentText.substring(0, currentChar + 1);
currentChar++;
}
if (!isDeleting && currentChar === currentText.length) {
setTimeout(() => isDeleting = true, 2000);
} else if (isDeleting && currentChar === 0) {
isDeleting = false;
currentTitle = (currentTitle + 1) % titles.length;
}
const typingSpeed = isDeleting ? 50 : 100;
setTimeout(typeWriter, typingSpeed);
}
// Start typing animation on page load
document.addEventListener('DOMContentLoaded', typeWriter);
Skill Progress Animation
Scroll ile tetiklenen progress bar animasyonu:
// Skill Progress Animation
function animateSkillBars() {
const skillBars = document.querySelectorAll('.skill-progress');
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const progressBar = entry.target;
const width = progressBar.getAttribute('data-width');
progressBar.style.width = width + '%';
}
});
}, { threshold: 0.5 });
skillBars.forEach(bar => observer.observe(bar));
}
// Initialize animations
document.addEventListener('DOMContentLoaded', function() {
animateSkillBars();
});
8. 📱 Responsive Tasarım
Mobile-First Approach
Önce mobil tasarımı yapıp, sonra büyük ekranlar için uyarladık:
/* Base Mobile Styles */
.container {
padding: 15px;
}
.skills {
grid-template-columns: 1fr;
}
.projects-grid {
grid-template-columns: 1fr;
}
/* Tablet Styles */
@media (min-width: 768px) {
.container {
padding: 20px;
}
.skills {
grid-template-columns: repeat(2, 1fr);
}
}
/* Desktop Styles */
@media (min-width: 1024px) {
.container {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
.skills {
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.projects-grid {
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
}
}
Mobile Navigation ve UX
Küçük ekranlarda kullanıcı deneyimini iyileştirdik:
@media (max-width: 768px) {
/* Smaller profile image */
.profile-img {
width: 150px;
height: 150px;
font-size: 60px;
}
/* Compact header */
header {
padding: 30px 20px;
}
/* Stack social links */
.social-links {
flex-wrap: wrap;
}
/* Adjusted section padding */
.section {
padding: 25px 20px;
}
/* Responsive typography */
h1 {
font-size: 2.2em;
}
/* Full-width theme toggle */
.theme-toggle {
position: relative;
top: auto;
right: auto;
text-align: center;
margin-bottom: 20px;
}
}
9. ⚡ Performans Optimizasyonu
CSS Performance
CSS performansı için will-change ve GPU accelerated properties kullandık:
/* Performance Optimizations */
.skill-progress,
.typing-animation,
.profile-img {
will-change: transform;
}
/* Use transform instead of changing layout properties */
.skill-item:hover {
transform: translateY(-5px) scale(1.03);
/* Instead of changing margin or padding */
}
/* Use opacity for fade effects */
.loading-element {
opacity: 0;
transition: opacity 0.3s ease;
}
.loading-element.loaded {
opacity: 1;
}
Accessibility Improvements
Erişilebilirlik için semantic HTML ve ARIA attributes kullandık:
/* Focus improvements */
button:focus,
a:focus,
input:focus {
outline: 2px solid var(--accent-blue);
outline-offset: 2px;
}
/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
/* High contrast mode support */
@media (prefers-contrast: high) {
:root {
--border-color: #ffffff;
--primary-text: #ffffff;
}
}
SEO Optimizasyonu
Arama motoru optimizasyonu için meta tags ve structured data:
<head>
<!-- Basic SEO -->
<title>Berat Efe Karabaş - Bilgisayar Mühendisliği Öğrencisi Portfolio</title>
<meta name="description" content="Python, Java ve C programlama dilleri konusunda deneyimli bilgisayar mühendisliği öğrencisi. Algorithm geliştirme ve problem çözme odaklı projeler.">
<meta name="keywords" content="bilgisayar mühendisliği, python, java, algoritma, portfolio">
<meta name="author" content="Berat Efe Karabaş">
<!-- Open Graph -->
<meta property="og:title" content="Berat Efe Karabaş - Portfolio">
<meta property="og:description" content="Bilgisayar Mühendisliği öğrencisi portfolio sitesi">
<meta property="og:image" content="https://efekrbs.github.io/images/pp.jpg">
<meta property="og:url" content="https://efekrbs.github.io">
<!-- Favicon -->
<link rel="icon" type="image/x-icon" href="/favicon.ico">
</head>
10. 🚀 GitHub Pages ile Yayınlama
Repository Ayarları
GitHub Pages'i aktifleştirmek için repository ayarlarını yapılandırdık:
GitHub Pages Kurulum Adımları:
1. GitHub repository'nizde "Settings" sekmesine gidin
2. Sol menüden "Pages" seçeneğini bulun
3. "Source" kısmında "Deploy from a branch" seçin
4. "Branch" kısmında "main" seçin
5. Folder olarak "/ (root)" seçin
6. "Save" butonuna tıklayın
Otomatik deployment için:
- Her push sonrası site otomatik güncellenir
- Deployment süreci 1-2 dakika sürer
- Actions sekmesinden deployment durumunu takip edebilirsiniz
Custom Domain (Opsiyonel)
Kendi domain'inizi bağlamak isterseniz:
Custom Domain Kurulumu:
1. Repository root'unda CNAME dosyası oluşturun:
echo "yourdomain.com" > CNAME
2. Domain sağlayıcınızda DNS ayarları:
- A Record: 185.199.108.153
- A Record: 185.199.109.153
- A Record: 185.199.110.153
- A Record: 185.199.111.153
VEYA
- CNAME Record: username.github.io
3. GitHub Pages settings'de "Custom domain" kısmına
domain'inizi yazın ve "Save" edin
4. "Enforce HTTPS" seçeneğini aktifleştirin
Git Workflow
Geliştirme sürecinde kullandığımız git komutları:
# Günlük development workflow
git status # Değişiklikleri kontrol et
git add . # Tüm değişiklikleri stage'e al
git commit -m "🎨 Feature açıklaması" # Commit yap
git push origin main # GitHub'a gönder
# Faydalı git komutları
git log --oneline # Commit geçmişini gör
git diff # Değişiklikleri karşılaştır
git checkout -- filename # Dosyayı eski haline getir
git reset HEAD filename # Stage'den dosyayı çıkar
# Branch ile çalışma (advanced)
git checkout -b feature-name # Yeni branch oluştur
git checkout main # Ana branch'e geç
git merge feature-name # Branch'i merge et
git branch -d feature-name # Branch'i sil
11. 🔧 Bakım ve Güncelleme
İçerik Güncelleme
Portfolio'nuzu güncel tutmak için düzenli bakım yapın:
📝 Blog Yazıları
Yeni projelerinizi ve öğrendiklerinizi blog yazıları olarak ekleyin
🛠️ Projeler
Yeni projelerinizi showcase bölümüne ekleyin
📄 CV Güncellemesi
CV'nizi düzenli olarak güncelleyin ve yeni versiyonu upload edin
🎯 Skills
Yeni öğrendiğiniz teknolojileri skills bölümüne ekleyin
Performance Monitoring
Site performansını düzenli olarak kontrol edin:
Performans Kontrol Araçları:
1. Google PageSpeed Insights
- https://pagespeed.web.dev/
- Site hızını ve optimizasyon önerilerini sunar
2. GTmetrix
- https://gtmetrix.com/
- Detaylı performans analizi
3. Google Lighthouse (Chrome DevTools)
- F12 > Lighthouse sekmesi
- Performance, Accessibility, SEO skorları
4. WebPageTest
- https://www.webpagetest.org/
- Farklı lokasyonlardan test
Hedef Metrikler:
- First Contentful Paint: < 1.5s
- Largest Contentful Paint: < 2.5s
- Cumulative Layout Shift: < 0.1
- First Input Delay: < 100ms
Security Best Practices
Güvenlik açısından dikkat edilmesi gerekenler:
Güvenlik Kontrol Listesi:
✅ Kişisel bilgileri (telefon, adres) direkt paylaşmayın
✅ Email adresini spam'den korumak için obfuscation kullanın
✅ Social media linklerini güncel tutun
✅ GitHub repository'lerinde sensitive data olmadığından emin olun
✅ HTTPS kullanın (GitHub Pages otomatik sağlar)
✅ External linkler için rel="noopener" ekleyin
✅ Form validation'ları client-side ve server-side yapın
✅ Regular backup alın (Git zaten backup görevi görür)
Örnek Email Obfuscation:
// JavaScript ile
const email = "berat" + "@" + "example.com";
// HTML entity ile
berat@example.com
12. 🎯 Sonuç ve İpuçları
Proje Başarı Metrikleri
Bu proje sonunda elde ettiğimiz sonuçlar:
🚀 Performans
Google Lighthouse 90+ skor, hızlı yükleme süreleri
📱 Responsive
Tüm cihazlarda mükemmel görünüm ve kullanıcı deneyimi
🎨 Modern UI
2024 tasarım trendlerine uygun görsel tasarım
♿ Accessibility
WCAG 2.1 standartlarına uygun erişilebilirlik
Geliştiriciler İçin İpuçları
🎯 Frontend Development Tips:
- Mobile-First: Her zaman küçük ekrandan başlayın
- Progressive Enhancement: Temel işlevselliği önce sağlayın
- Performance: Gereksiz animasyonlardan kaçının
- Accessibility: Keyboard navigation'ı test edin
- SEO: Semantic HTML kullanın
🔧 CSS Best Practices:
- CSS Custom Properties: Değişkenler kullanarak maintainability arttırın
- BEM Methodology: Sınıf isimlendirmede tutarlı olun
- CSS Grid & Flexbox: Modern layout teknikleri kullanın
- Will-Change: Animasyonlarda performans optimizasyonu
- Critical CSS: Above-the-fold CSS'i inline yapın
⚡ JavaScript Optimizations:
- Event Delegation: Event listener'ları optimize edin
- Debouncing: Scroll ve resize event'lerini optimize edin
- Intersection Observer: Scroll animasyonları için kullanın
- LocalStorage: User preferences'ları saklayın
- Error Handling: Try-catch blokları kullanın
Gelecek Geliştirmeler
Proje için planlanan gelecek özellikler:
Roadmap v3.0:
🔄 Backend Integration
├── Contact form ile email gönderimi
├── Blog CMS integration
├── Analytics ve visitor tracking
└── Comment sistemi
🎨 Advanced Features
├── PWA (Progressive Web App) desteği
├── Dark/Light/Auto mode seçenekleri
├── Multi-language support (EN/TR)
├── Advanced animations (GSAP)
└── Image lazy loading
🔧 Technical Improvements
├── TypeScript migration
├── CSS-in-JS (Styled Components)
├── Build process (Webpack/Vite)
├── Testing (Jest, Cypress)
└── CI/CD pipeline
Kaynaklar ve Referanslar
Faydalı Kaynaklar:
📚 Documentation:
├── MDN Web Docs: https://developer.mozilla.org/
├── CSS-Tricks: https://css-tricks.com/
├── W3Schools: https://www.w3schools.com/
└── Can I Use: https://caniuse.com/
🎨 Design Inspiration:
├── Dribbble: https://dribbble.com/
├── Behance: https://www.behance.net/
├── Awwwards: https://www.awwwards.com/
└── CodePen: https://codepen.io/
🛠️ Tools:
├── VS Code: https://code.visualstudio.com/
├── GitHub Desktop: https://desktop.github.com/
├── Chrome DevTools: Built-in browser tool
└── Figma: https://www.figma.com/
🚀 Deployment:
├── GitHub Pages: https://pages.github.com/
├── Netlify: https://www.netlify.com/
├── Vercel: https://vercel.com/
└── Surge.sh: https://surge.sh/
⚠️ Önemli Notlar:
- Bu rehber 2024 itibariyle güncel teknolojileri kapsamaktadır
- Web teknolojileri hızla değişir, düzenli olarak güncellemeleri takip edin
- Production'a geçmeden önce mutlaka test edin
- Backup almayı unutmayın (Git ile automatic backup)
- Community'den yardım almaktan çekinmeyin
Son Söz
Bu rehber, modern web development pratiklerini kullanarak profesyonel bir portfolio website'i oluşturma sürecini kapsamlı bir şekilde anlatmaktadır. Her adımda best practices ve modern teknolojiler kullanılarak, hem görsel hem de teknik açıdan kaliteli bir sonuç elde edilmiştir.
Unutmayın: Web development bir öğrenme süreci ve sürekli gelişim gerektirir. Bu rehberdeki teknikleri temel alarak kendi projelerinizi geliştirirken, yeni teknolojileri de öğrenmeye devam edin.
🎉 Tebrikler! Bu rehberi tamamladıysanız, artık modern bir portfolio website'ine sahipsiniz. Projenizi arkadaşlarınızla paylaşın, feedback alın ve sürekli geliştirmeye devam edin!