Modern ve ölçeklenebilir bir e-ticaret platformu. Express.js ve Pug template engine kullanılarak geliştirilmiştir.
- Özellikler
- Teknolojiler
- Proje Yapısı
- Kurulum
- Kullanım
- Ekran Görüntüleri
- API Endpoints
- Katkıda Bulunma
- Lisans
- Ürün listeleme ve detay sayfaları
- Sepet yönetimi
- Sipariş oluşturma
- Ödeme sayfası
- Responsive tasarım
- Ürün ekleme/düzenleme/silme
- Ürün listesi yönetimi
- Dashboard görünümü
- Modern ve kullanıcı dostu arayüz
- FontAwesome 7.1.0 ikon entegrasyonu
- Modüler ve yeniden kullanılabilir component yapısı
- MVC mimarisi
- Hata yönetimi (404 sayfası)
- Backend: Node.js, Express.js
- Template Engine: Pug
- Styling: CSS3
- Icons: FontAwesome 7.1.0
- Architecture: MVC (Model-View-Controller)
EXPRESS-APP/
├── controllers/ # Controller dosyaları
│ ├── admin.js # Admin controller
│ ├── errors.js # Hata yönetimi
│ └── shop.js # Shop controller
├── models/ # Veri modelleri
│ └── product.js # Ürün modeli
├── routes/ # Route tanımlamaları
│ ├── admin.js # Admin route'ları
│ └── shop.js # Shop route'ları
├── views/ # Pug template dosyaları
│ ├── admin/ # Admin sayfaları
│ │ ├── add-product.pug
│ │ ├── edit-product.pug
│ │ └── products.pug
│ ├── shop/ # Shop sayfaları
│ │ ├── index.pug
│ │ ├── products.pug
│ │ ├── cart.pug
│ │ ├── checkout.pug
│ │ └── orders.pug
│ ├── error/ # Hata sayfaları
│ │ └── 404.pug
│ ├── includes/ # Yeniden kullanılabilir parçalar
│ │ ├── head.pug
│ │ ├── navbar.pug
│ │ ├── menu.pug
│ │ └── slider.pug
│ ├── layouts/ # Layout şablonları
│ │ └── main-layout.pug
│ └── mixins/ # Pug mixins
│ └── createProduct.pug
├── public/ # Statik dosyalar
│ ├── css/ # CSS dosyaları
│ │ ├── style.css
│ │ └── forms.css
│ └── img/ # Resim dosyaları
│ ├── 1.jpg - 5.jpg # Ürün resimleri
│ └── slider1-3.jpg # Slider resimleri
├── fontawesome-free-7.1.0-web/ # FontAwesome kütüphanesi
├── app.js # Ana uygulama dosyası
├── package.json # Proje bağımlılıkları
└── README.md # Proje dokümantasyonu
- Node.js (v14 veya üzeri)
- npm veya yarn
- Projeyi klonlayın:
git clone https://github.com/kullanici-adiniz/express-app.git
cd express-app- Bağımlılıkları yükleyin:
npm install- Uygulamayı başlatın:
npm startveya geliştirme modunda:
npm run dev- Tarayıcıda açın:
http://localhost:3000
Ana Sayfa: http://localhost:3000/
Ürünler: http://localhost:3000/products
Sepet: http://localhost:3000/cart
Ödeme: http://localhost:3000/checkout
Siparişlerim: http://localhost:3000/orders
Ürünler: http://localhost:3000/admin/products
Ürün Ekle: http://localhost:3000/admin/add-product
Ürün Düzenle: http://localhost:3000/admin/edit-product/:id
(Buraya ekran görüntüleri ekleyebilirsiniz)


| Method | Endpoint | Açıklama |
|---|---|---|
| GET | / |
Ana sayfa |
| GET | /products |
Tüm ürünleri listele |
| GET | /products/:id |
Ürün detayı |
| GET | /cart |
Sepeti görüntüle |
| POST | /cart |
Sepete ürün ekle |
| POST | /cart/delete |
Sepetten ürün sil |
| GET | /checkout |
Ödeme sayfası |
| GET | /orders |
Siparişleri görüntüle |
| Method | Endpoint | Açıklama |
|---|---|---|
| GET | /admin/products |
Ürün listesi |
| GET | /admin/add-product |
Ürün ekleme formu |
| POST | /admin/add-product |
Yeni ürün ekle |
| GET | /admin/edit-product/:id |
Ürün düzenleme formu |
| POST | /admin/edit-product |
Ürünü güncelle |
| POST | /admin/delete-product |
Ürünü sil |
CSS dosyaları public/css/ klasöründe bulunur:
style.css- Genel stilforms.css- Form stilleri
views/klasörüne yeni.pugdosyası ekleyinroutes/klasöründe ilgili route'u tanımlayın- Controller'da işlevi yazın
Ana layout views/layouts/main-layout.pug dosyasındadır. Navbar, head ve diğer tekrarlayan bileşenler views/includes/ klasöründedir.
{
"express": "^4.x.x",
"pug": "^3.x.x",
"body-parser": "^1.x.x",
"path": "^0.x.x"
}Katkılarınızı bekliyoruz! Lütfen şu adımları izleyin:
- Bu projeyi fork edin
- Yeni bir branch oluşturun (
git checkout -b feature/yeniOzellik) - Değişikliklerinizi commit edin (
git commit -m 'feat: yeni özellik eklendi') - Branch'inizi push edin (
git push origin feature/yeniOzellik) - Pull Request oluşturun
Conventional Commits standardını kullanıyoruz:
feat:- Yeni özellikfix:- Hata düzeltmedocs:- Dokümantasyonstyle:- Code style değişikliğirefactor:- Kod iyileştirmetest:- Test ekleme/düzenlemechore:- Diğer değişiklikler
- Sepet verisi kalıcı değil (veritabanı entegrasyonu gerekli)
- Ödeme sistemi demo aşamasında
- Kullanıcı girişi henüz eklenmedi
- MongoDB/PostgreSQL veritabanı entegrasyonu
- Kullanıcı authentication sistemi
- Gerçek ödeme gateway entegrasyonu (Stripe/PayPal)
- Resim upload sistemi
- Ürün arama ve filtreleme
- Admin dashboard istatistikleri
- Email bildirimleri
- Unit ve integration testleri
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
Mehmet Oğuz Kocadere
- GitHub: @memo-13-byte
- LinkedIn: mehmet-oğuz-kocadere
- Email: [email protected]
- FontAwesome icon kütüphanesi için
- Express.js ve Node.js topluluğuna
- Pug template engine geliştiricilerine
⭐ Bu projeyi beğendiyseniz yıldız vermeyi unutmayın!