Location: PHPKode > projects > Katyshop > katyshop_ro_0.3.2.1/docs/description.txt
#############################
# SHORT DESCRIPTION			#
#############################

Katyshop is an easy e-commerce solution written in PHP with MySQL. 
The code is object oriented with a very simple and clean architecture, 
making it easy for the programmer to work on customising the database 
or changing design.

#############################
# SPECIFIC CHARACTERISTICS	#
#############################

Please note this is an alpha release, meaning the application has not 
been yet thoroughly tested on many implementations, so it surely
can have a lot of bugs not yet discovered and solved.

I tried to write a simple and small code, making it easy for the 
programmer to learn fast and work on this project, either by 
customising the design for simple customer implementations, or by
further changing / developing the database and adding new logic 
objects.

This is what makes it different from other existing e-commerce
solutions, because many of them are not object oriented, or 
they use a heavy amount of classes and functions, difficult to 
learn and to work on.

#############################
# BUSINESS LOGIC			#
#############################

The following business features are implemented:

 - Visitor (unauthenticated User)
 - User (generic User with username and password; extend from Visitor)
 - Admin, UserPerson, UserCompany (all these three extend from User)
 - Address of User (delivery and invoice addresses)
 - Product, Category of Products
 - Order, OrderProduct (line item from Order)
 - Technical Details for Product
 - Manufacturer

#############################
# TECHNICAL DESCRIPTION		#
#############################

The architecture is similar to Java / JavaBeans / JSP making sure
the code is very organised and clean. You can distinguish three layers:
 - business logic - these classes stay in folder /classes/logic
 - data layer - these classes stay in folder /classes/dblayer
 - presentation layer - HTML-based files stay in /web folder.

All scripts that process POST data sent by user forms are
placed in /web/formparser (and also /web/admin/formparser) folders,
to make sure the programmer has strict control over the code
that commits changes to the database.

Use of global variables is not encouraged, however the need to
pass data between scripts is solved by static getters and setters
methods implemented in Application class.

Another feature is software portability: it can be used on both
PHP4 and PHP5 versions, and is backward compatible with mysql 3.23.
On PHP, it is independent of server settings magic_quotes_gpc.
Objects cloning also works the same on PHP4 and PHP5 when using
copyFromObject() method of LogicObject class. You can install
this software using any domain name, such as:
 - katyshop.mydomain.com
 - www.mydomain.com
 - www.mydomain.com/folder/folder/katyshop
The only setting you have to customise is BASE_HREF, and it will work
with no problems.
Return current item: Katyshop