Başlangıç

Bu dökümantasyonda B2C eticaret sitesi arayüz entegrasyonu süreçleri anlatılacaktır.

Uyarı

Bazı alanların yapısı kurumsal cms ile aynı olduğundan videoların bazıları kurumsal cms dökümantasyonundan alınmıştır.

Gereksinimler

Bu alanda entegrasyon yapılabilmesi için hem sunucu tarafında hemde geliştirici tarafındaki temel gereksinimler açıklanmıştır.

Sunucu:
  • PHP 7.4, PHP 8.0
  • MySQL
  • GD image library (php.ini de açık olmalıdır)
Geliştirici:
  • PHP - Orta Seviye
  • MySQL - Orta Seviye
  • Codeigniter 3 - Orta Seviye (Herhangi bir Php MVC framework biliniyorsa günler içerisinde öğrenilebilir. )
  • Js, Jquery - Orta Seviye
  • Html, Css, Bootstrap - Başlangıç Seviye

Kurulum

Kurulum için kodların bulunduğu .zip dosyası , .sql dosyası ve sunucu ayarlarının uygun olduğu local, yada canlı bir ortam bulunmalıdır.

Kurulum aşaması:

Uyarı

Hem kurulum aşamasında hemde diğer tüm alanlarda kesinlikle Türkçe Karakter kullanılmamalıdır.

  1. Öncelikle zip dosyamızı ana dizin klasörümüze çıkartıyoruz.
  2. Klasörde eksik dosya bulunmadığına emin oluyoruz. (.htaccess vb.)
  3. Daha sonra phpmyadminde yeni veritabanını ismini ve karakter tipi (utf8mb4_turkish_ci) belirleyerek oluşturuyoruz.
  4. Oluşturmuş olduğumuz veritabına .sql dosyamızı import ediyoruz ve bu aşamada hata olmadığına emin oluyoruz
  5. Ana dizin klasörünü editör yada ide yardımıyla açıyoruz ve aşağıdaki düzenlemeleri yapıyoruz.
  6. 								
    // C:\xampp\htdocs\your_folder_name\application\config\config.php
    $config['base_url'] = 'http://localhost/your_folder_name/';
    								
    								
    // C:\xampp\htdocs\your_folder_name\application\config\database.php
    'username' => 'root',             // database kullanıcı adı
    'password' => '',                 // database şifre
    'database' => 'your_db_name',     // database verilen isim
    								
    							
  7. Ana dizinde bulunan .htaccess dosyasını kontrol ediyoruz ve aşağıdaki formatta olduğundan emin oluyoruz.
  8. 								
    //C:\xampp\htdocs\your_folder_name\.htaccess
    
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
    
    Options -Indexes
    								
    
    							
  9. Kurulum işlemimiz tamamlanmış olup , aşağıdaki url ile erişim sağlayabiliriz.
  10. http://localhost/your_folder_name/

Uyarı

Dökümantasyonda verilen linkler local ortama göre verilecektir. Canlı sunucuda geliştirme yapılacak ise bu hususa dikkat edilmelidir.

Genel Klasör Yapısı

Klasör yapısı, Codeigniter 3 Framework ile çoğunlukla aynıdır. Anlatım videosu aşağıdadır.

Veritabanı

Sizlere verilen database dosyasında birçok database tablosu bulunmaktadır. Ancak bu tablolar her proje için müşteri talepleri doğrultusunda yeterli olmayabilir . O yüzden mevcut tabloların duruma düzenlenmesi yada yenilerinin eklenmesi gerekir. Database hazırlanırken dikkat edilmesi gereken hususlar aşağıda listelenmiştir.

  • Lütfen öncelikle database tablolarını inceleyim. İsimlendirme gibi hususlara dikkat edelim.
  • Çoklu dilli projelerde örnek olarak ; baslik, baslik_en, baslik_ru gibi sütün isimleri kullanalım
  • Tabloya eklediğimiz sütünlarda anlaşılması güç olabilecek olanlara açıklama yazalım.
  • Tablolardaki sütünların veri tipleri esneklik açısından TEXT NULL , VARCHAR(255) NULL olarak ayarlanmıştır.
  • Ne işe yaradından emin olmadığınız tabloları kesinlikle silmeyiniz.

Arayüz Geliştirme

Uyarı

Arayüz geliştirmesi elinizdeki projeye göre farklılıklar gösterir. Elinizdeki temanın özellikleri , kurgu ve aksiyon çeşitlilikleri olabilir. Dolayısıyla genel yapıya hakim olmanız gerekmektedir.

Arayüz Klasör Yapısı

Arayüz geliştirme aşamasında klasör yapısı önemlidir. Neyin nerde olduğun biliniyorsa daha rahat geliştirmeler yapılabilir. Arayüz yapısı standar Codeigniter 3 ün yanısıra daha efektif geliştirmeler yapılabilmesi ve kod tekrarırın azaltılması maksadıyla düzenlenmiştir. Anlatım videosu aşağıdadır.

Tema Parçalama

Arayüz entegrasyonu sürecinde tema parçalama çok önemlidir. Elimizdeki temaya hakim olmamız gerekmektedir. Temayı ortak yerlerinden header, footer vb. parçalamak lazımdır. Yoksa her sayfada kod tekrarı olur. Geliştirme ve revizyon aşamasında aksiyon sağlamak zorlaşır. Anlatım videosu aşağıdadır.

Routes Yapısı

Routes yapımız standart Codeigniter 3 yapısıyla aynıdır. Ama aynı görünmezler. Çünkü bizim panelimiz her sayfanın url si dinamik olarak data base üzerinden değişmektedir. Arayüz entegrasyonunda bütün routes lar hazırlanmadan controller view aşamalarına geçiş yapılması önerilmez. Öncelikle bütün sayfaların routest yapıları mümkünse tek seferde uygun birşekilde hazırlanmalıdır. Rutes hazırlamasında çoklu dil yapısı çok önemlidir. Anlatım videosu aşağıdadır.

Core Yapısı

Core dosyamız bütün controller ve viewlarımıza etki ederler. Oyüzden ortak bütün ayarlar oradadır. Sistemin ana bileşenlerindendir ve çok önemlidir. Anlatım videosu aşağıdadır.

Controller Yapısı

Controller ile sorgular üretip viewa veriler göndereblir yada crud brenzeri işlemler yapabiliriz. Anlatım videosu aşağıdadır.

View Yapısı

View alanında frontend kodlar ile controller vb. yerlerden gelen backend bilgiler birbirine entegre olurlar. Anlatım videosu aşağıdadır.

Çoklu Dil Yapısı

Site geneli dil geçişinin nasıl yapıldığı ve çalıştığı anlatılmıştır. Anlatım videosu aşağıdadır.

Form İşlemleri

Bu alanda arayüz tarafında form işlemleri incelenecektir. Anlatım videosu aşağıdadır.

Ürün Filtreleme, pagination, kategori

Bu alanda arayüz tarafında ürün kategorileri , ürün listelenmesi, pagination ve gelişmiş ürün filtreleme gibi entegrasyon süreçleri anlatılacaktır. Anlatım videosu aşağıdadır.

Ürün Detay

Bu alanda arayüz tarafında ürün detay entegrasyon süreçleri anlatılacaktır. Anlatım videosu aşağıdadır.

Dinamik Menu

Bu alanda arayüz tarafında header dinamik menu entegrasyon süreçleri anlatılacaktır. Anlatım videosu aşağıdadır.

Footer

Bu alanda arayüz tarafında footer entegrasyon süreçleri anlatılacaktır. Anlatım videosu aşağıdadır.

Popup

Bu alanda arayüz tarafında popup entegrasyon süreçleri anlatılacaktır. Anlatım videosu aşağıdadır.

Bakım Sayfası

Bu alanda arayüz tarafında bakım sayfası entegrasyon süreçleri anlatılacaktır. Anlatım videosu aşağıdadır.

Login register vb. genel user işlemleri

Bu alanda arayüz tarafında login,register, şifremi unuttum, email aktivayonu ve sosyal login işlemleri (kod tarafı)anlatılmıştır. Anlatım videosu aşağıdadır.

Hesabım alanın genel incelenmesi

Bu alanda arayüz tarafında hesabim alanında bulunan sayfalar ve hesap bilgilerinin nasıl güncellendiği anlatıl mıştır . Anlatım videosu aşağıdadır.

Favoriler

Bu alanda arayüz tarafında site genelinde favoriler ile ilgili yapılar anlatılmıştır . Anlatım videosu aşağıdadır.

Sepet

Bu alanda arayüz tarafında site genelinde sepet ile ilgili yapılar anlatılmıştır . Anlatım videosu aşağıdadır.

Ödeme

Bu alanda arayüz tarafında site genelinde ödeme ile ilgili yapılar anlatılmıştır . Anlatım videosu aşağıdadır.