ECommerce: Difference between revisions

From CS486wiki
Jump to navigationJump to search
Content deleted Content added
Line 170: Line 170:
[[File:checkout.PNG|border]]
[[File:checkout.PNG|border]]


==Week 5 ==
I have completed control panel's homepage and its forms for products features and contents. Also, I have completed account operations, such as editing account, changing address, and the user interface forms to do so.I plan to create a log in user interface for admin panel in this week.
==Basket Module==
==Basket Module==
I have started to basket module at the beginning of the spring break. Adding, deleting, updating items in basket and calculating the total amount of money methods have been starting to coding in the Basket Class as object.After I complete this module, I will go on transaction module.
I have started to basket module at the beginning of the spring break. Adding, deleting, updating items in basket and calculating the total amount of money methods have been starting to coding in the Basket Class as object.After I complete this module, I will go on transaction module.

Revision as of 04:04, 1 May 2015

Senior Project Documentation and Plan

In the beginning of the Senior Project I, the proposal of the project was presented to Professor Dick Steflik in order to agree on it. After agreement on the project, I had studied some skills such as database management, Asp.net MVC platform that I will need for coding.After, software requirement specification reported to define requirements of each components of an electronic website project. Goals and objectives that are going to satisfy all the stakeholders were documented on software requirement specification by analyzing the scope of the project.In addition, end user scenarios such as visiting website, having an account, logging to the system, viewing, updating, editing account information, view products using categories, searching products are specified as a reference to user interface of the website.Furthermore, in order to design database for the website, all data objects such as user, transaction, shipment were designed with an elaboration progress and documented as a design specification.All normalization steps are taken to have an optimum database design to avoid redundancy. For the project, state chart diagram, architecture diagram, flow chart diagram were drawn by depending on business, organizational and technical limitations and constraints.Finally, all testing phases such as unit testing, integration testing, and the system testing were documented as broken down components of the website modules in the testing specification by using variety of testing scenarios.

Senior Project

Introduction

People are always in need of doing shopping, however, sometimes we want to buy something online. According to declared statistics, recently, almost fifty percent of people are the shoppers that they are shopping over Internet, especially via web based e-commerce sites. If I would put a little questionnaire to check whether my followers have had an experience in e-shopping, I believe that 99.9 percentage of you will click yes to say you did. Since I believe that all local stores aware of e-commerce, I provide local stores to have a fresh looking e-commerce website for making money by selling whatever products to customers.

What is www.we-commerce.biz?

It is a web based e-commerce site that can be bought by different kinds of stores or individuals to make business by selling products to the customers. I provides most of services that you expect from an e-commerce website efficiently. You will have an attractive 24/7 open service to your store. New customers, lower costs, reasonable price; if those are the ones that you are exactly looking for, Ilhan Aytutuldu proudly presents..

Objectives of the Project

One of the purposes of this project is to have an attractive e-commerce website to understand basic principles of e-commerce website implementation. It is a nice practice to implement e-commerce website, although it is very hard to implement with its each little details. Furthermore, I would like to go on working on this project after graduation to sell it to the local stores. The project provides customers to search products, to see details of each item, and proceeding to check out an item. On the other hand, an owner of the website, or an administrator is provided another panel to be able to manage operations all about website content.

Project Database

Customer table holds CustomerID as auto increment primary key which is unique. In this table, I have held information about the customer of the website, such as name, phone, e-mail, username, password, the information whether he is still currently available, and birthplace id which it provides customers to choose Birth Place from dropdown list which is filled by cities in City table and assigned to the customer in Customer Table. This table holds customers which are registered to the system. Therefore, I will create a form of page that is composed of those attributes.

CustomerAddress table holds AddressID as auto increment primary key which is unique. It holds name of a customer address, address type Id as a foreign key, street, city Id as a foreign key, zip code, tax number, billing address and customer id as a foreign key. So, again a form is used to provide adding address in graphical user interface of the website. AddressType table holds address types, such as home, job, and other and it provides it to the CustomerAddress table as data.

City table holds all states of the U.S as names.

Users table holds administrator information to access control panel.

Category table holds all category names with its parent Id.

ProductCategory table holds both product id and the category id of the product as foreign keys.

ProductFeature table holds category Id which is the 2nd level of category, actually sub-category and a feature name to be assign to the product. For example, a notebook can have a feature called Ram, color or screen size.

ProductFeatureContent table holds feature Id as a foreign key of feature table, and a feature content name to be assign to the product. For example, Ram as a feature can have 8 Gb or 16Gb.

Product table holds product names, its category Id, header, short description, detailed description, product code, price, old price, a flag to show in home page and the number of products as stock. Therefore, while creating a product I use all those and assigned feature and its related contents.

ProductImage table holds image url and the product id that is related to the image.

Product_X_ProductFeatureContent table is needed because I have to hold product feature and product feature content so that I can access and use the product’s information by holding their ids as foreign key.

Operation table holds information about the selling operations, such as operation date, its state, payment type, customer id, total amount of money, stock count address id, and Shipment Company.

OperationProduct table holds the products that are belong to that operation with its attributes.

OperationState holds the descriptions, such as waiting for shipment or shipped, and name of the operation.

Technical Details

  • This project is implemented by using Microsoft Visual Studio 2010, Asp.Net MVC 3, C#
  • Database is implemented by using MS SQL Server Management Studio 2014, SQL
  • Razor is used as view engine
  • Asp.net MVC,JQUERY
  • Asp.net MVC,Ajax
  • Enterprise Library
  • Asp.net MVC,CSS

User Interfaces

This is an web based application which it provides basically customers to buy products and gives ability admin to manage the system. So, User Interfaces can be split apart 2 main modules in the beginning.

Control Panel

In the control panel, I give chance to the user of the control panel to login the system. The user of it has a URL to browse the control panel page, which requires authentication match between user credentials in the database and just entered information. The user can login if the password and username matches with the database record that we had already defined.


  • They are able to enter the system with their username and password which are given them before.
  • All Passwords are encrypted with MD5 algorithm.
  • The user is able to add/delete/update categories, and sub-categories to the system
  • They are also able to create/delete/update features for a category. For ex: Notebook - Ram
  • They are able to create/delete/update contents to the related features of a category. For ex: Notebook - Ram - 8 GB
  • They are able to create/delete/update products.
  • They are able to assign/update product feature contents for a product. For ex: Lenova Notebook - Notebook - Ram - 8 GB
  • They are able to add image to created products.
  • They are able to create/delete/update ship companies.
  • They are able to see/manage transactions, or sold items.
  • They are able to filter categories, products, ship company, transaction depending on different parameters.

Control Panel Login:

Control Panel Home:

Control Panel Product Features and Contents:

Control Panel Products:

Control Panel Ship Company:

Control Panel Transactions:

Customer Pages

In the website, Firstly, the user is to browse the website. A customer will have chance to do all the followings;


  • They are able to browse the website, without any authentication to the system.Also, they can see all products without registration.
  • Customers are able to register to the system by using registration form. Address is not needed for registration.
  • All Passwords are encrypted with MD5 algorithm.
  • After registered the website, customers are able to login the website whenever they want.
  • Customers are able to reach 'my account module' by using their session in 20 minutes without any re-authentication. In my account page, they can manage their account by following pages;
    • My Account
    • Edit Account Information
    • My Address
    • Add Address
    • My Orders
    • Change Password
  • They are also able to see their transaction, order history.
  • They are able to search items by category in the left side of the home page.
  • They are able to search items by creating queries.
  • They are able to filter and search items by feature contents.
  • They are able to see details of the products.
  • They are able to add products into the shopping basket.
  • They are able to see detailed description that is assigned to the products and all images in detail page.
  • They are able to add items to basket by defining its count.
  • They are able to see what they have in the basket and the total amount. In this page, they can update and cancel the items.
  • They are able to proceed to check out if they are still in session.
  • They are able to fill check out form to buy the product. They have to choose address, shipment method and paying money via credit card.
  • After completing the order, an e-mail is sent to customer via my web mail by using SMTP.



Customer browses the website, and has seen the Home Page:


An example of item searching by using category and feature of it:

An example of item's details with its description and images:

An example of basket with product:

Buy item by filling information:

Basket Module

I have started to basket module at the beginning of the spring break. Adding, deleting, updating items in basket and calculating the total amount of money methods have been starting to coding in the Basket Class as object.After I complete this module, I will go on transaction module.

Address operations

I realized that I haven't done with the address operations which is simple but required for transactions of customer completely.Now I done with it before complete basket and going on transaction module.