[section::shop]
1. Wstęp

Dynamicznie rozwijająca się technika komputerowa a w szczególności oprogramowanie użytkowe doprowadziły do wzrostu popularności komputerów osobistych. Coraz częściej konieczne jest posiadanie komputera w domu, tym bardziej jeżeli jest on podłaczony do globalnej sieci 'internet'. Rozwój ten spowodowany jest również nieustannym dążeniem człowieka do osiągnięcia maksimum wygody a szeroki dostęp do wiedzy niewątpliwie to gwarantuje. Internet poza dostępem do nieograniczonych zasobów informacji, umożliwia również prowadzenia korespondencji, korzystania z wielu grup dyskusyjnych, a także coraz częściej robienia zakupów.
Podłączenie do globalnej sici urzeczywistnia dokonywanie zakupów nie wychodząc przy tym z domu. Po ogladnięciu towaru na ekranie monitora oraz przeczytaniu opisu klient może go zamówić poprzez wypełnienie odpowiednigo formularza i potwierdzenie swojej decyzji kliknięciem w odpowiedni przycisk. Towar przesyłany jest klientowi pocztą lub za pośrednictwem firmy przesyłkowej. Realizacja najczęściej nie trwa dłużej niż kilka dni. Natomiast płatność regulowana jest podczas odbioru towaru lub elektronicznie - kartą kredytową. Drugi sposób jest bardziej rozpowszechniony na zachodzie Europy oraz w Stanach Zjednoczonych, jedank u nas w kraju również zyskuje coraz więcej zwolennikow.
Najcześciej jednak sklepy internetowe sluża zapoznaniu się klienta z towarem i porównaniu cen. Po towar klient nie chcąc kupowac przysłowiowego kota w worku udaje się osobiście do sklepu. Spowodowane jest to w dalszym ciągu nieufnością w stosunku do sprzedającego, tym większą im większej wartości jest towar. Dlatego też bardziej popularne są sklepy z tanimi towarami - gadżetami, książkami.
Posiadanie sklepu internetowego zwiększa obroty firmy sprzedającej produkty, gdyż dociera ona w ten sposób do większej liczby potencjalnych klientów. W znaczącym stopniu rośnie również prestiż firmy, która posiada własną witrynę bądź sklep wirtualny. Koszty utrzymania takich właśnie sklepów są niewspółmiernie niskie w zestawieniu z tradycyjnymi sklepami a korzyści porównywalne. 2. Opis ogólny sklepu.

Prawidłowo napisany sklep, mający na celu przynieść dochody właścicielowi powinien nie tylko umożliwiać nabywanie towarów. Największe znaczenie ma jak najbardziej realistyczne odzwierciedlenie cech produktu oraz jego wyglądu na ekranie monitora. Można to osiągnąć stosując dokładny, obszerny opis produktu oraz zamieszczając kilka zdjęc. Klient ma wówczas możliwość porównania kilku podobnych do siebie produktów aż w końcu wyboru tego najbardziej go zadawalajacego.
Kolejną użyteczną opcją jest możliwość dodawania komentarza - oceny artykułu. Kontrahent dostaje wówczas opinie na temat oferowanego produktu, a jeśli jest on rownież jego producentem moze dokonywać odpowiednich zmian bądź ulepszyać go zgodnie z sugestiami potencjalnych klientów. Ocenę klientów na temat poszczególnych produktów można również dołączyc do opisu poszczególnych artykułów, dzięki czemu tego typu reklama zyskuje na wiarygodności.
W sklepie wirtualnym nie ma sprzedawcy, który doradzi i pokaże produkt porządany przez klienta, powinna zatem być dostępna opcja wyszukiwania. Dzięki tegu typu funkcji klient podając cechy produktu w odpowiedzi dostaje listę najbardziej odpowiadających podanemu opisowi artykułów. Może zatem porównać artykuły posiadające podobne cechy i zdecydować się zamówić jeden lub kilka z nich.
Sam proces zamówienia nie jest skomplikowany. Polega on na przedstawieniu klientowi formularzu do wypełnia. Powinien on zawierać takie komórki jak : nazwisko, adres zamieszkania telefon oraz adres e-mail. Dodatkowo, jeśli klient życzyłby sobie otrzymać fakturę powinno opcjonalnie znaleść się pole, w którym podaje się NIP. Kolejno klient powinien mieć możliwość wyboru firmy spedycyjnej, która dostarczy towar do niego do domu, oraz formę platności. Jak już wspomniałem może to byc karta kredytowa, przelew bankowy bądź uregulowanie należności na poczcie... W ostatnim okresie robienie prezentów korzystając z wirtualnych sklepów zyskuje na popularności. Każdy nowoczesny sklep powinien więc mieć taka możliwość. Klient oprócz swoich danych podaje rownież adres pod który zostanie dostarczony zakupiony przez niego produkt. Ponadto powinien mieć możliwość wyboru opakowania w jaki artykuł zostanie zapakowany.
Po wypełnieniu formularza i wysłaniu go do własciciela sklepu, (zwykle odbywa sie to jednym kliknięciem w przycisk : "wyślij" lub "OK") klientowi pozostaje tylko czekać aż zakupiony produkt zostanie dostarczony pod wskazany adres. W celu uniknięcia nieporozumień czasami istotne jest wysyłanie listu pocztą elektroniczną potwierdzającego zakup.
Bardzo ważną sprawą jest ochrona przesyłanych danych. Transmisja pomiędzy klientem w domu, a serwerem kontrahenta, kontrahentem a serwerem powinna być zaszyfrowana. Również dane przetrzymywane na serwerze dotyczące klienta musza być utajnione i bezpieczne . Sklep który nie zagwarantuje poufności danych nie ma żadnej szansy walczyć z konkurencją, która spełnia ten warunek.

3. A jak to od środka wygląda ?

Wirtualny sklep to nie tylko towary, które ogląda klient, koszyk i formularz zamówienia. W rzeczywistości to co widzi klient to tylko szczyt góry lodowej. Sklep powinien być jak najbardziej zautomatyzowany, koniecznie musi umożliwiać właścicielowi pełną administrację poszczególnymi towarami, grupami towarów, promocjami, zamówieniami, danymi klientów. Dlatego oprócz estetycznego i wygodnego interfejsu w postaci dynamicznej strony www, sklep to mniej lub bardziej złożona baza danych na serwerze. Złozoność bazy danych zależy od poziomu skomplikowania sklepu i od ilości funkcji. Do wprowadzania danych do bazy i administrowania nimi służy specjalny panel administracyjny składający się z szeregu formularzy. Istnieją dwa rodzaje paneli administracyjnych :
1. Panel sklepu typu "online" - wygodne rozwiazanie, gdy wlaściciel sklepu dysponuje łączem na stałe podłączonym do sieci internet, panel administracyjny napisany jest przy użyciu takiej samej technologii jak cały sklep, i dostępny jest przez stronę www, do ktorej dostęp ma tylko sprzedawca.
2. Panel sklepu typu "offline" - stosowane, gdy wlaściciel nie ma stałego łącza, lub posiada łącze o bardzo niskiej przepustowości (np.telefoniczne), panel administracyjny jest osobnym programem znajdującym się na jego komputerze. Wszelkie zmiany dokonywane są lokalnie a poŸniej wysłane do serwera na którym znajduje się sklep. Zamiast dziesiątek połączeń z serwerem jakie wystepują w wymienionym panelem online, w tym przypadku tylko raz łączymy się z serwerem. Szczegółowo funkcje panelu administracyjnego omówione zostaną w dalszej cześci tego dokumentu.
Sklep można wykonać używając wielu dostępnych obecnie technik. Po stronie serwera może to być np. program napisany w jednym z wielu języków programowania i uruchomiony przez CGI. Może być napisany używając języka PHP lub konkurencyjnego ASP. Może być również uruchomiony przy użyciu technologii servletów - napisany w Javie. Natomiast po stronie klienta może działać jako applet Javy. Oczywiście bardzo popularne są rozwiązania mieszane (PHP +JavaScript).
Powyżej wymienione zostały sposoby realizacji komunikacji pomiędzy klientem a bazą danych, która jest najważniejszym elementem w sklepie. Otóż i ona może być stworzona na różnych platformach. Obecnie najbardziej popularnymi rozwiązaniami są : mysql, postgresql oraz MSSQL (Windows). Co do zalet i wad tych rozwiązań można by polemizować w nieskończoność, gdyż każda z nich ma wielu entuzjastów. Wybór rozwiązania jakiego dokona programista zależy głównie od jego umiejętności i sprawności jaką sie wykazuje w posługiwaniu się każdą z tych technologii.
Panel administracyjny powinien się składać z kilku podstron zawierających formularze oprogramowane następującymi funkcjami :
- dodawanie grupy produktów.
- usuwanie grupy produktów.
- dodawanie artykułu do odpowiedniej grupy artykułów w bazie danych sklepu.
- usuwanie wybranego artykułu z bazy danych.
- zmiana informacji na temat produktu (opis, zdjęcia, promocja, nowości)
- lista aktualnych zamówień
- lista zrealizowanych

4. Ogólnie zrobiłem to tak :

Stworzyłem engine sklepu - coś w stylu szablonu, który w przyszłości przy stosunkowo niewielkim nakładzie pracy i czasu można by dostosować do indywidualnych wymogów potencjalnych nabywców mojego sklepu. Potrzebne było zatem proste i zarazem elastyczne rozwiązanie. Baza danych przechowująca informacje na temat artykułów powinna być łatwo i szybko modyfikowalna analogicznie do programu php. Nie ma znaczenia zatem jakie artykuły będą sprzedawane w sklepie i jaka będzie ich ilość. Częsc opcji konfigurowana jest z poziomu panelu administracyjnego, inne mogą wymagać ingerencji w strukturę bazy danych i programu PHP. Jednakże głównym celen tego projektu było właśnie ograniczenie przewidzianych możliwych modyfikacji.
Tworząc engine sklepu skorzystałem z systemu zarządzania bazami danych PostgreSQL, a do oprogramowania wszystkich funkcji użyłem języka PHP. Oba systemy są darmowe, więc koszt sklepu wynosił tylko i wyłącznie włożone przeze mnie godziny spędzone nad projektowaniem i w póżniejszej części nad kodowaniem programu.

[section::link]
Demo of internet shop based on this engine is no longer available