Size bu yapıyı anlatan, temel özelliklere sahip basit bir alışveriş sitesi prototipi kodlayacağım. Bu prototip, ürünleri listeleyen bir ana sayfadan oluşacak.
Bu örnek için şu teknolojileri kullanacağız:
Şimdi projemiz için klasör yapısını oluşturalım:
Adım 2: Backend Kodunu Yazma (
Bu dosya, web sitemizin beyni olacak. Bir web sunucusu oluşturacak, ana sayfa isteğini karşılayacak ve HTML şablonuna ürün bilgilerini gönderecek.
dosyasının içeriği:
Harika bir fikir! Tam teşekküllü bir alışveriş sitesi kodlamak oldukça kapsamlı bir projedir. Genellikle bir Frontend (kullanıcının gördüğü arayüz), bir Backend (sunucu, veritabanı ve iş mantığı) ve bir Veritabanı (ürünler, kullanıcılar, siparişler) olmak üzere üç ana bölümden oluşur.
Size bu yapıyı anlatan, temel özelliklere sahip basit bir alışveriş sitesi prototipi kodlayacağım. Bu prototip, ürünleri listeleyen bir ana sayfadan oluşacak.
Bu örnek için şu teknolojileri kullanacağız:
Öncelikle bilgisayarınızda Python'un kurulu olduğundan emin olun. Ardından terminal veya komut istemcisini açıp Flask kütüphanesini kurun:
Şimdi projemiz için klasör yapısını oluşturalım:
app.py dosyasının içeriği:
dosyasının içeriği:
dosyasının içeriği:
dosyasının içeriği:
Bu örnek için şu teknolojileri kullanacağız:
- Backend: Python dili ve Flask web framework'ü (basit ve hızlı olduğu için).
- Frontend: HTML (sayfa iskeleti), CSS (görünüm) ve biraz JavaScript (etkileşim).
Adım 1: Proje Ortamını Hazırlama
Öncelikle bilgisayarınızda Python'un kurulu olduğundan emin olun. Ardından terminal veya komut istemcisini açıp Flask kütüphanesini kurun:
Bash:
pip install Flask
Şimdi projemiz için klasör yapısını oluşturalım:
Kod:
e-ticaret-sitesi/
├── static/
│ ├── css/
│ │ └── style.css
│ └── js/
│ └── script.js
├── templates/
│ └── index.html
└── app.py
-
Kod:
app.py
-
Kod:
templates/index.html
-
Kod:
static/
Adım 2: Backend Kodunu Yazma (
Kod:
app.py
)
Bu dosya, web sitemizin beyni olacak. Bir web sunucusu oluşturacak, ana sayfa isteğini karşılayacak ve HTML şablonuna ürün bilgilerini gönderecek.
Kod:
app.py
Kod:
app.py
Python:
from flask import Flask, render_template
# Flask uygulamasını başlat
app = Flask(__name__)
# Örnek ürün verileri (Normalde bu veriler veritabanından gelir)
products = [
{
"id": 1,
"name": "Kablosuz Kulaklık",
"price": 1250.00,
"image": "https://via.placeholder.com/300x300.png?text=Kulakl%C4%B1k"
},
{
"id": 2,
"name": "Mekanik Klavye",
"price": 1800.50,
"image": "https://via.placeholder.com/300x300.png?text=Klavye"
},
{
"id": 3,
"name": "Oyuncu Faresi",
"price": 875.00,
"image": "https://via.placeholder.com/300x300.png?text=Fare"
},
{
"id": 4,
"name": "4K Monitör",
"price": 7500.75,
"image": "https://via.placeholder.com/300x300.png?text=Monit%C3%B6r"
},
{
"id": 5,
"name": "Webcam",
"price": 950.00,
"image": "https://via.placeholder.com/300x300.png?text=Webcam"
},
{
"id": 6,
"name": "Mikrofon",
"price": 2100.00,
"image": "https://via.placeholder.com/300x300.png?text=Mikrofon"
}
]
# Ana sayfa route'u (URL'si)
@app.route('/')
def home():
# index.html şablonunu render et ve ürün listesini şablona gönder
return render_template('index.html', products=products)
# Uygulamayı çalıştır
if __name__ == '__main__':
app.run(debug=True)
Harika bir fikir! Tam teşekküllü bir alışveriş sitesi kodlamak oldukça kapsamlı bir projedir. Genellikle bir Frontend (kullanıcının gördüğü arayüz), bir Backend (sunucu, veritabanı ve iş mantığı) ve bir Veritabanı (ürünler, kullanıcılar, siparişler) olmak üzere üç ana bölümden oluşur.
Size bu yapıyı anlatan, temel özelliklere sahip basit bir alışveriş sitesi prototipi kodlayacağım. Bu prototip, ürünleri listeleyen bir ana sayfadan oluşacak.
Bu örnek için şu teknolojileri kullanacağız:
- Backend: Python dili ve Flask web framework'ü (basit ve hızlı olduğu için).
- Frontend: HTML (sayfa iskeleti), CSS (görünüm) ve biraz JavaScript (etkileşim).
Adım 1: Proje Ortamını Hazırlama
Öncelikle bilgisayarınızda Python'un kurulu olduğundan emin olun. Ardından terminal veya komut istemcisini açıp Flask kütüphanesini kurun:
Bash:
pip install Flask
Şimdi projemiz için klasör yapısını oluşturalım:
Rich (BB code):
e-ticaret-sitesi/
├── static/
│ ├── css/
│ │ └── style.css
│ └── js/
│ └── script.js
├── templates/
│ └── index.html
└── app.py
- app.py: Ana sunucu kodumuz burada olacak.
- templates/index.html: Ana sayfamızın HTML kodu.
- static/: CSS ve JavaScript gibi sabit dosyalarımızın bulunduğu klasör.
Adım 2: Backend Kodunu Yazma (app.py)
Bu dosya, web sitemizin beyni olacak. Bir web sunucusu oluşturacak, ana sayfa isteğini karşılayacak ve HTML şablonuna ürün bilgilerini gönderecek.app.py dosyasının içeriği:
Python:
from flask import Flask, render_template
# Flask uygulamasını başlat
app = Flask(__name__)
# Örnek ürün verileri (Normalde bu veriler veritabanından gelir)
products = [
{
"id": 1,
"name": "Kablosuz Kulaklık",
"price": 1250.00,
"image": "https://via.placeholder.com/300x300.png?text=Kulaklık"
},
{
"id": 2,
"name": "Mekanik Klavye",
"price": 1800.50,
"image": "https://via.placeholder.com/300x300.png?text=Klavye"
},
{
"id": 3,
"name": "Oyuncu Faresi",
"price": 875.00,
"image": "https://via.placeholder.com/300x300.png?text=Fare"
},
{
"id": 4,
"name": "4K Monitör",
"price": 7500.75,
"image": "https://via.placeholder.com/300x300.png?text=Monitör"
},
{
"id": 5,
"name": "Webcam",
"price": 950.00,
"image": "https://via.placeholder.com/300x300.png?text=Webcam"
},
{
"id": 6,
"name": "Mikrofon",
"price": 2100.00,
"image": "https://via.placeholder.com/300x300.png?text=Mikrofon"
}
]
# Ana sayfa route'u (URL'si)
@app.route('/')
def home():
# index.html şablonunu render et ve ürün listesini şablona gönder
return render_template('index.html', products=products)
# Uygulamayı çalıştır
if __name__ == '__main__':
app.run(debug=True)
Adım 3: Frontend Kodunu Yazma (index.html)
Bu dosya, sitemizin iskeletini oluşturur. app.py'den gelen ürün verilerini alıp dinamik olarak listeler.
Kod:
templates/index.html
HTML:
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Gemini E-Ticaret</title>
<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
</head>
<body>
<header>
<h1>Hoş Geldiniz!</h1>
<p>En Yeni Teknolojik Ürünler</p>
</header>
<main>
<div class="product-grid">
{% for product in products %}
<div class="product-card">
<img src="{{ product.image }}" alt="{{ product.name }}">
<h2>{{ product.name }}</h2>
<p class="price">{{ "%.2f"|format(product.price) }} ₺</p>
<button class="add-to-cart-btn">Sepete Ekle</button>
</div>
{% endfor %}
</div>
</main>
<footer>
<p>© 2025 KralForum E-Ticaret Sitesi</p>
</footer>
<script src="{{ url_for('static', filename='js/script.js') }}"></script>
</body>
</html>
Adım 4: Siteyi Güzelleştirme (style.css)
Sitemizin daha modern ve düzenli görünmesi için CSS kodlarını ekleyelim.
Kod:
static/css/style.css
CSS:
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f4f4f4;
color: #333;
}
header {
background-color: #333;
color: #fff;
text-align: center;
padding: 2rem 0;
}
main {
max-width: 1200px;
margin: 2rem auto;
padding: 0 1rem;
}
.product-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1.5rem;
}
.product-card {
background-color: #fff;
border: 1px solid #ddd;
border-radius: 8px;
padding: 1rem;
text-align: center;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
transition: transform 0.2s;
}
.product-card:hover {
transform: translateY(-5px);
}
.product-card img {
max-width: 100%;
height: auto;
border-radius: 4px;
}
.product-card h2 {
font-size: 1.2rem;
margin: 1rem 0 0.5rem;
}
.price {
font-size: 1.1rem;
font-weight: bold;
color: #007BFF;
}
.add-to-cart-btn {
background-color: #007BFF;
color: #fff;
border: none;
padding: 0.75rem 1.5rem;
border-radius: 5px;
cursor: pointer;
margin-top: 1rem;
transition: background-color 0.2s;
}
.add-to-cart-btn:hover {
background-color: #0056b3;
}
footer {
text-align: center;
padding: 1rem 0;
background-color: #333;
color: #fff;
margin-top: 2rem;
}
Adım 5: Etkileşim Ekleme (script.js)
"Sepete Ekle" butonuna basıldığında basit bir bildirim gösterelim.
Kod:
static/js/script.js
JavaScript:
document.addEventListener('DOMContentLoaded', () => {
const buttons = document.querySelectorAll('.add-to-cart-btn');
buttons.forEach(button => {
button.addEventListener('click', () => {
alert('Ürün sepete eklendi! (Bu bir prototiptir)');
});
});
});
Siteyi Çalıştırma
- Tüm dosyaları doğru klasör yapısına kaydettiğinizden emin olun.
- Terminali açın ve e-ticaret-sitesi ana klasöründeyken şu komutu çalıştırın:
Bash:
python app.py
- Terminalde *
Kod:
Running on http://127.0.0.1:5000/
- Web tarayıcınızı açın ve
Kod:
http://127.0.0.1:5000/
Sonraki Adımlar
Bu sadece bir başlangıç noktasıdır. Gerçek bir e-ticaret sitesi için eklenmesi gereken birçok özellik vardır:- Gerçek Bir Veritabanı: Ürünleri, kullanıcıları ve siparişleri saklamak için (Örn: PostgreSQL, MySQL).
- Kullanıcı Giriş/Kayıt Sistemi: Müşterilerin hesap oluşturması için.
- Ürün Detay Sayfası: Her ürün için ayrı bir sayfa.
- Sepet Fonksiyonu: Kullanıcıların ürün ekleyip çıkarabileceği gerçek bir sepet.
- Ödeme Sistemi Entegrasyonu: Kredi kartı ile ödeme almak için (Örn: Stripe, Iyzico).
- Admin Paneli: Ürün eklemek, silmek ve siparişleri yönetmek için.