Sanat Ürünleri Online
Teşhiri ve Satışı
Gözde SARIAYAN
s11082
Gerçekleştirim Belgesi
Yazılım Geliştirme Projesi
Bilgi Teknolojileri Sertifika Programı
İDEA: ODTÜ Sanal Kampüsü
20.06.2008
Öz
Proje kapsamında daha önce verilen
analiz,tasarım belgelerine büyük ölçüde sadık kalınmıştır. Bu belgede
karşılaşılan sorunlar,üretilen çözümler,yazılımın kodlama evresinde
gelişen durumlar ve modüllerin çalışma yöntemi gösterilmiştir.
Karşılaşılan
Sorunlar ve Uygulanan Çözümler
Önceden bildirilen raporlarda seçilen
yöntemlerden veritabanlarının ayrı tutulması fikrinden vazgeçilmiştir.
Tüm bilgiler tek bir veritabanında tutulmuştur.
Zaman kısıtlılığından dolayı arama,yorum ekleme ve talep bildirme
opsiyonları daha sonraya ertelenmiştir.
Yazılım tam olarak bitirilemediğinden yayınlanması test
aşamasından sonraya ertelenmiştir.
Arayüz tasarımında Adobe Photoshop,Flash Menu Maker gibi
programlar kullanılmıştır.
Php derleyecisi olarak Zend Development Environment programı
kullanılmıştır.
Sitenin genel durumu,kontrol ve ayarlamaları,veritabanı kontrolü
için Wamp Server programı kullanılmıştır.
Kullanıma dair genel güncellemelerin test aşamasına kadar
bitirilmesi planlanmıştır.
Yazılımın amacı ürün satışı olduğundan sanal pos uygulaması uygun
düşmektedir. Bu yöntem yazılım iyileştirmelerinde düşünülmektedir. Geçici olarak
karşılıklı anlaşmalı havale düşünülmüştür. Yöntemler hakkında araştırma
devam etmektedir. Bu özellik yazılıma daha sonra ilave edilecektir.
Yazılımda yorum ve talep ekleme modülleri menüden ulaşılabileceği
gibi ürünlerin altında olacak bölümlerden de yapılabilecektir.Bu opsiyon
daha sonraya ertelenmiştir.
Yazılımın menüleri ve kullanım modüllerinin görsel tasarımlarında
iyileştirme yapılacaktır.
Yazılımın açılışına flash bir intro düşünülmektedir.
Yazılımın
Bileşenleri ve Görevleri
Veri Tabanı Yapısı
CREATE TABLE `user` (
`id` int(4) NOT NULL auto_increment,
`name` varchar(65) NOT NULL default '',
`email` varchar(65) NOT NULL default '',
`username` varchar(65) NOT NULL default '',
`password` varchar(65) NOT NULL default '',
`adress` longtext NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
CREATE TABLE `comment` (
`id` int(4) NOT NULL auto_increment,
`username` varchar(65) NOT NULL default '',
`comment` longtext NOT NULL,
`datetime` varchar(65) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
CREATE TABLE `offer` (
`id` int(4) NOT NULL auto_increment,
`username` varchar(65) NOT NULL default '',
`artname` varchar(65) NOT NULL default '',
`offer` float NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
CREATE TABLE `art` (
`id` int(4) NOT NULL auto_increment,
`artname` varchar(65) NOT NULL default'',
`artpic` binary NOT NULL,
`info` longtext NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
CREATE TABLE `admin` (
`id` int(4) NOT NULL auto_increment,
`name` varchar(65) NOT NULL default '',
`email` varchar(65) NOT NULL default '',
`adminname` varchar(65) NOT NULL default '',
`password` varchar(65) NOT NULL default '',
`adress` longtext NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
Veriler analiz ve tasarım belgelerinde planlandığı
gibi admin ve user olarak değil 'database' adıyla tek bir veritabanında
tutulmuştur. 5 adet tablodan oluşan bu veritabanın özellikleri
yukarıdaki gibidir.
Modüller
config.php
$host="localhost";
$username="*****";
$password="*****";
$db_name="database";
mysql_connect("$host", "$username", "$password")or die("cannot
connect to server");
mysql_select_db("$db_name")or die("cannot select db");
Gerekli olduğunda aşağıdaki şekilde çağrılıp
çalıştırılan veritabanı bağlantı modülü
<?php
include("config.php");
$tbl_name="art";
$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
?>
Bu şeklinde verilerin istenilen tabloya
işlenmesini sağlar.
index.php
Yazılımın giriş sayfasını oluşturan bölüm,karşılama ve menü
gibi özelliklere sahip olan modül.
register.php
Yazılımın kayıt formunu oluşturan modül.
registercheck.php
Kullanıcının girdiği bilgilerin yeterli olup olmadığı,boş alan
olup olmadığı(* ile gösterilen zorunlu alanların doldurulmuş olması)
gibi bilgileri kontrol edip veritabanına işleyen modül.Doğrulanan
bilgilerin ardından userlogin fonksiyonunu çağırmaktadır.
login.php
Yazılımın giriş seçeneklerini gösteren
modül diğer giriş modüllerine ulaşılmasını sağlar.
userlogin.php
Yazılımda kullanıcı girişinin sağlandığı
modül.Kullanıcı bilgileri alınıp veritabanından karşılaştırılarak siteye
giriş izni verilir.
userchecklogin.php
Yazılımda userlogin fonksiyonunun çağırdığı login
işleminde girilen bilgilerin doğrulanması için gerekli kodların
bulunduğu fonksiyon.Login işlemi doğru bir şekilde gerçekleştiğinde
userloginsuccess fonksiyonunu çağırır.Başarısız login işleminde uyarı
basar.
userloginsuccess.php
session_start();
if(!session_is_registered(username)){
header("location:userlogin.php");
}
?>
<html>
<body>
echo "Hoşgeldin $username";
</body>
döngüsüyle işlemin başarılı olduğunda karşılama
basıp başarısız olduğunda kullanıcı girişi modülünü çağıran fonksiyon.
adminlogin.php
Yazılımda admin girişinin sağlandığı modül.Admin bilgileri
alınıp veritabanından karşılaştırılarak site yönetimine izin verilir.
adminchecklogin.php
Yazılımda adminlogin fonksiyonunun çağırdığı login işleminde girilen
bilgilerin doğrulanması için gerekli kodların bulunduğu fonksiyon.Login
işlemi doğru bir şekilde gerçekleştiğinde adminloginsuccess fonksiyonunu
çağırır.Başarısız login işleminde uyarı basar.
adminloginsuccess.php
Admin kullanıcı adını veya şifresini yanlış girdiğinde login
sayfasına geri döndürerek baştan giriş yapılmasını sağlar. Doğru girilen
bilgilerden sonra giriş izni çıkar ve menü ekrana gelir.
<?
session_start();
if(!session_is_registered(adminname)){
header("location:adminlogin.php");
}
?>
<html>
<body>
echo "Hoşgeldin Admin";
</body>
add.php
Yazılımda admin girişiyle açılan ürün ekleme
modülü.
addcheck.php
Ürün adı,resmi ve bilgisi gibi veriler alınıp
veritabanına işlenmesini sağlar.İlk modülde belirtilen yolların
çağrılarak veritabanına işlenmesini,işlemin başarılı ya da başarısız
olduğunu kontrol eden modül.
listinguser.php
Kullanıcı giriş yaptıktan sonra çağrılan fonksiyon.Kullanıcının
yetki seviyesi dahilince ulaşabildiği opsiyonları menü şekilden açar.
listingadmin.php
Admin giriş yaptıktan sonra çağrılan fonksiyon. Sitenin ürün bilgisi
yönetimini menü olarak açar.
logout.php
Yazılımda kullanıcıların sistemden çıkışlarını
sağlayan modül.
<?
session_start();
session_destroy();
?>
about.php
Site yöneticisi hakkında resim ve bilgi gibi verilerin
gösterilmesini sağlayan modül.
search.php(bitirilemedi)*
Yazılımda ürünlerin tutulduğu veritabanında kelime tabanlı
arama yapılmasını sağlayan modül.
comment.php(bitirilemedi)*
Yazılımda kullanıcıların ürünler hakkında yorum ekleyebileceği
modül.
offer.php(bitirilemedi)*
Yazılımda kullanıcıların ürünler için fiyat
belirtileceği modül.
*Bu modüller test aşamasına kadar bitirilip teste tabi
tutulacaktır.
Yazılımdan Kesitler
Yazılımın ana sayfası aşağıdaki gibidir
(Büyütmek
için üzerine tıklayınız)
Yazılımın kayıt bölümü aşağıdaki gibidir
(Büyütmek
için üzerine tıklayınız)
Yazılımın giriş bölümü aşağıdaki gibidir
(Büyütmek
için üzerine tıklayınız)
Yazılımın kullanıcı giriş bölümü aşağıdaki
gibidir (Büyütmek
için üzerine tıklayınız)
Yazılımın kullanıcı menüsü aşağıdaki gibidir
(Büyütmek
için üzerine tıklayınız)
Yazılımın arama aşağıdaki gibidir (Büyütmek
için üzerine tıklayınız)
Yazılımın
admin girişi aşağıdaki gibidir (Büyütmek
için üzerine tıklayınız)
Yazılımın admin menüsü aşağıdaki gibidir
(Büyütmek
için üzerine tıklayınız)
Yazılımın ürün ekleme bölümü aşağıdaki gibidir
(Büyütmek
için üzerine tıklayınız)
Yazılımın hakkımda bölümü aşağıdaki gibidir (Büyütmek
için üzerine tıklayınız)
Kullanıcı
Kılavuzu
Yazılımın amacı
geleneksel,süsleme,plastik vs. gibi sanat dallarında ürün veren
sanatçıların işlerini online olarak sergileyerek satabilmesidir.
Kullanım açısından kolay olması ve anlaşılırlık
ön planda tutulmuştur.
Veritabanının manual kontrolü için phpMyAdmin
önerilmektedir.
Kullanıcılar;
-Ürün inceleme
-Yorum ekleme
-Talep bildirme
-Yapılan yorumları okuyabilme
Admin;
-Ürün ekleme
-Ürün bilgisi değiştirme
-Kullanıcı taleplerini görebilme
-Kullanıcı yorumlarını okuyabilme
-Veritabanı kontrol
gibi özelliklere ulaşabilmektedir.
Site 'database' adlı bir adet veritabanından 'user','comment','offer','art','admin'
adlı 5 tablodan oluşmaktadır.
Sistem PHP ve MySQL ve
uyumlu her platformda çalışmaktadır.
Site modülleri şu şekildedir;
Veritabanı bağlantı modülü |
config.php |
Anasayfa |
index.php |
Kullanıcı kayıt formu |
register.php |
Kullanıcı kayıt formu kontrol ve işleme modülü |
registercheck.php |
Login
sayfası |
login.php |
Kullanıcı login modülü |
userlogin.php |
Kullanıcı login bilgileri kontrol modülü |
userchecklogin.php |
Kullanıcı login sonuç kontrol modülü |
userloginsuccess.php |
Admin
login modülü |
adminlogin.php |
Admin
login bilgileri kontrol modülü |
adminchecklogin.php |
Admin
login sonuç kontrol modülü |
adminloginsuccess.php |
Ürün ekleme modülü |
add.php |
Ürün
ekleme kontrol ve işleme modülü |
addcheck.php |
Kullanıcı opsiyon menüsü modülü |
listinguser.php |
Admin
opsiyon menüsü modülü |
listingadmin.php |
Arama
modülü |
search.php |
Yorum
ekleme modülü |
comment.php |
Teklif
Bildirme |
offer.php |
Hakkımda sayfası |
about.php |
Sistem
çıkış modülü |
logout.php |
|