Client requirement is to create a Magento store for online sales of rugs. Client is a retailer who aims to become America’s favorite rug store. Client believes that buying the right rug with the proper information on color, texture and quality becomes very difficult over the internet. Client wishes to offer customers with ample choices, great customer service, outstanding brands and competitive prices.
Ecommerce websites provide dynamic functionalities for customers to conveniently and quickly select products that they wish to purchase and make payments with safe and secure transaction methods. This includes a database driven shopping cart system, shipping modules and payment gateways along with features to enhance user experience to enable sales for the client.
The website requires the import of data and images from third party vendors using a CSV file. Customers should be able to choose from the available options presented to them for all available products and select the ones they want. The project is based on an online shopping system that enables suppliers to sell products directly to customers. Facility to offer discounts to customers to enhance their shopping experience should also be incorporated in the ecommerce website.
Functionalities that client expected were:
- Payment gateway integration (authorize.net)
- Shipping system should be free.
- Order Management
- Inventory management
- Microsoft C5 ERP system integration
- User friendly website design
The following challenges were faced by the team:
- A busy shopping site that is capable of handling millions of connections without slowing
- Web usability principles needed to be incorporated to ensure convenience of navigation for
all types of users.
- ERP Integration and data synchronization with the ecommerce site on a regular basis for all
types of products.
- Safe and secure data transfer.
|Operating System & Server Management||Red Hat Linux OS, Multi-Server Architecture with Staging & Production Environment through Version Controlling releases, Server Optimization, Security & SSL Implementation, Scheduler for Back-ups, Alert Monitoring System Integration, Server Performance Tuning at regular intervals, Software Firewall Configuration & Maintenance|
|Development Tools & Environments||PHP5+, Magento, Apache Web Server, AJAX, HTML, CSS etc.|
|Database||MYSQL Database Server, DB Clustering, DB Optimization, Master Slave Replication, Query Optimization, Scheduler for Backups|
|Quality Assurance Testers||1|
Keeping in mind the structure of the website and the challenges involved, a four-tier development approach was adopted, consisting of:
- The Database layer containing MySQL Server Database, Tables, stored procedures and so on.
- The Data Access layer that contains libraries for accessing data from the database.
- The Business Logic layer consisting of all business logic procedures for modules shipping,
payment gateway, order management etc.
- The User Interface Layer forms the Graphical User Interface of the website.
The site contained rich user data and extensive capabilities for online shopping, hence the design approach was built around PHP and MySQL Server. Shipping Management, Order Management, Inventory Management etc. were developed in PHP to be directly executed from the UI layer. The PHP files consisted of all Business logics used for respective modules like Save (Add/Update), Delete, Get single object, get multiple objects for listing and were designed to be capable of handling many more logics which were not related to the database.The data access layer contained the libraries enables data
access from the database and helped build queries for insert, update, delete and select depending on the business class. The business layer components were coded to use this specific library. Stored procedures were used only for complex retrieval of data from multiple tables and were entirely avoided with conditional syntax to ensure smooth performance of the website. The UI layer was kept free of any business logic and images and other data were called from their respective servers.
The massive ecommerce website was successfully developed with the said capabilities and was able to successfully handle all the orders, shipping, payment and other activities related to ecommerce. All the groundwork and research was carried out for building a website with heavy customizations, features and at the same time building a robust site capable of processing millions of transactions and live connections daily. Web usability guidelines were followed with the judicious use of AJAX, CSS and HTML controls. The site was developed within a short span of 6 months.