ECommerce: Difference between revisions
| Line 88: | Line 88: | ||
====Control Panel Login:==== |
====Control Panel Login:==== |
||
[[File:adminlogin.PNG]] |
|||
==Week 1 - 3== |
==Week 1 - 3== |
||
Revision as of 01:19, 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:
Week 1 - 3
Starting from the senior project II, all database with its implemented tables recovered to be able to have an optimum design. All tables are updated by using Microsoft SQL Server Database Management Studio 2008.Also, to be able to use Asp.Net MVC, MVC 3 was installed and added to Microsoft Visual Studio 2010. Later, I have decided to modules that will be implemented. During this time period, I implemented the user interface of the home page of the website.
Week 4
I continued to design webpages. I completed the sign in and register modules. Also, I made connection between database and program to store registered customers. Now, I can register and sign in the system perfectly. Also, I completed that storing password encrypted by MD5 64 bit encryption. Then I have started to build control panel's forms for products features and contents.
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.
Week 5 - Week 8
During this period, starting from the beginning of the project, I have been completing necessary classes that I need to go forward. Also, I have completed the software design of the project which are necessary, such entities and data models, database views, and some helper classes (for Session Operations, or Models with Extra Functionality)for all database connection operations. Furthermore, I have completed the process of creating features, creating contents of the features, and creating ship company to choose upon product for control panel. Before completing these, I firstly completed creating categories for administrator of the product. Also, I made some entries as examples to database. From now on, I am planing to start product details pages by getting information from the product feature content view of database and shopping chart object as soon as possible.This is my home page of control panel, which requires authentication to login, there is no action link in homepage of website.I am using the URL to browse control panel.
This is the page of operating categories. In here, the administrator of the website can manage all top categories and related sub categories by applying all CRUD operations.Therefore, It is obvious to see that I am only using 2 levels of categories, which it will also affect the searching that I will try to start as soon as possible.
Product Detail Page
I have completed the product detail page by using PRoduct Model with its product image, added related features, and all other attributes of that model.
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.