Virtual shopping

49
Virtual Shopping Store CONTENTS OF SYNOPSIS

Transcript of Virtual shopping

Page 1: Virtual shopping

Virtual Shopping

Store CONTENTS OF SYNOPSIS

Page 2: Virtual shopping

S No Topic

1. Title of the project2. Introduction3. Project Duration4. Objectives5. Need6. Modular Description7. DFD’S8. Data Structure(Tables)9. Tools Platform used10. Requirement Specification11. Code12. Security mechanism13. Screen Shorts14. Conclusion15. Future Scope & Enhancement

Page 3: Virtual shopping

Title of Project Virtual Shopping

1. Introduction of Virtual shopping Virtual store research is an extension of the traditional methods of marketing research. While marketing research employs techniques like focus groups, surveys and observation to better understand consumer

Page 4: Virtual shopping

decision-making, virtual store research uses these standard research techniques within a simulated store setting, delivered via computer. This allows test consumers within the virtual environment to interact with store merchandise and make purchase decisions in a way that closely resembles real in-store behavior.

Additionally, virtual store technology can help consumer packaged goods companies and retailers make daily business decisions without the need for physically changing stores and products

“This is a product photography website. It is an opportunity for retailers anywhere in the country to open an online showroom where they can display their products. Users can scan the products, read/post reviews, share it and create a user profile. This website is not meant for online shopping, but one can browse through a wide range of products and In that particular area people can know these retailers and their product what they have present time and new patterns and Goods will arrive on their store. So, we have intended it as an avenue for traditional retailers to get customers so that they can compete with the online stores, which are delivering products at doorsteps.

You understand that you have the following obligations before opening a virtual showroom or entering any details on the website: 

i. You must register with the website and create a profile

Page 5: Virtual shopping

You must provide a short description of yourself (and/or your organization) on your profile.

ii. You must provide information that is accurate and up-to-date.iii. You must not post any content that is intended to de-fraud, cheat

or otherwise mislead or offend any other user of the Website.iv. You are solely and fully responsible for all the information,

photographs and any other content that you post/upload on your profile.

About virtualeee.com in 7 points

1. Virtualeee.com is a social on-line platform exclusively for traditional retailers to open a virtual showroom and it's free for life time.

2. Virtualeee.com facilitates a traditional showroom to display their products on-line and interact with customers.

3. Virtualeee.com is product photography website and does not sell them.

4. Users can search products without being a registered member of the site.

5. Users of the site can access any showroom in a desired location. The customer interface is exclusively designed for delivering location based radius search.

6. Users can scan products around their neighborhood showrooms to make easy, simple and better purchase decisions.

Page 6: Virtual shopping

7. Virtualeee.com is developed and owned by Troikas Marketing Private Limited, Kerala, India.

Register (for new users) Login (Existing users) Register for shopkeepers Login for shopkeepers View Products by product category Select products and add them to cart. Update the product quantities in the cart View cart contents Checkout the cart contents for order processing Edit user profile such as address, contact information and

password

Virtualeee.com is an exclusive product photography sharing website for a traditional retailer .virtualeee.com forms an online platform for all traditional retailers to display their product and add value to the shopping experience of everyone.

Virtualeee.com is based on location based radius search where anyone can virtually walk-in any showroom of their desired location bypassing the physical and psychological distance, the idea was developed by Troikas Marketing Private Limited after a yearlong research and development.

Any business with a physical product can open a virtual showroom here and display their product photography and reach out to thousands of people and create a new shopping experience, which will revolutionize the product search and add value to everyone's purchase decision.

Page 7: Virtual shopping

Your use of the website is governed by this Terms of Service. This domain name virtualeee.com owned and operated by M/s Troikas Marketing Pvt. Ltd.

Virtualeee.com is an online platform that connects suppliers/ service providers with interested customers. Sellers, shop owners, retailers and other service providers can create a profile and upload information and pictures about their products and services on the website, thus opening a “Virtual Showroom”

You agree that you are using your best and prudent judgment before using the website, accessing the information and links available on this website. Your use is at your sole risk and the website will not be liable in any manner.

2. Project Duration

6 MONTH

3. OBJECTIVE

Page 8: Virtual shopping

The main objective of this project is to raise Local Market. As we know that the business of normal retailers in our cities is being affected by the online market.

So, to raise this market we thought to bring all retailers Online. Where they can update their new arrivals and their product in shop at present and they can find more consumers and can do business in other cities as well.

In fact, any business with a ‘physical product’ can open their virtual showroom. “We have our own professional in-house photographers who take the product photographs. So, every time a new product is launched by a firm, it is updated on myshop.com.

4. NEED

Page 9: Virtual shopping

The trend of people shopping from the comfort of their own homes rather than going into stores has contributed to a drop in Black Friday retail sales in the U.S. for two consecutive years, according to the National Retail Federation.

Retailers that have yet to jump online are facing some tough competition, not only because of their physical limitations, but virtual stores are offering perks that are similar or better, like free worldwide shipping and returns on purchases, as well as free gift-wrapping and samples at checkout. Most deals in stores can be found online, and brick-and-mortar retailers know this.

5. Modules of project

Page 10: Virtual shopping

Module 1

Module 2

Module 3

Module 1

User

Admin

Shopkeepers

Page 11: Virtual shopping

User Login

View Products

Read/Post Comment

Purchase Things

Sort nearest store

Page 12: Virtual shopping

Module 2

Shopkeeper

Login

Upload Products

Update New Arrivals

Register

Complete profile

Add Members

Page 13: Virtual shopping

Module 3

Module 4

AdminManage

Shopkeeper A/C

Manage User's Post Security Live Chet

Page 14: Virtual shopping
Page 15: Virtual shopping

About the MVC Model, Controller and View

Page 16: Virtual shopping

Design Pattern:

This software based on concept of the Model View Controller (MVC) design pattern.

View renders the data from the Model in response to the request made to the model by controlled events made by user interaction.

Model View Controller is a design approach to separate the application object model from GUI, originally invented around 80s. Then later on it has become a widely accepted common design pattern. The main objective behind this pattern is to decouple the view of the data (presentation layer) from the actual data processing so that the same model can be used for various views. This is achieved by using three different types of objects that interact with each other in loosely coupled manner with their discreet set of tasks.

These three objects are known as Model, View and Controller.

VIEW:

Page 17: Virtual shopping

View is the graphical data presentation (outputting) irrespective of the real data processing. View is the responsible for look and feel, some custom formatting, sorting etc. View is completely isolated from actual complex data operations. For example, online product catalog view is completely separated from database connection, query, tables etc. It simply gets final row-data from the model and puts some cosmetics and formatting before displaying it in browser. View provides interface to interact with the system. The beauty of MVC approach is that it supports any kind of view, which is challenging in today’s distributed and multi-platform environment.

A MVC model can have multiple views, which are controlled by controller. View interface can be of WEB-FORMS, HTML, XML/XSLT, XTML, and WML or can be Windows forms etc.

MODEL:

Model is responsible for actual data processing, like database connection, querying database, implementing business rules etc. It feeds data to the view without worrying about the actual formatting and look and feel. Data provided by Model is display-neutral so it can be interfaced with as many views without code redundancy; this eases your code maintenance and reduces bugs and allows code -reuse at good extent. Model responds to the request made by controllers and notifies the registered views to update their display with new data

CONTROLLER:

Page 18: Virtual shopping

A controller can send commands to the model to update the model's state (e.g., editing a document). It can also send commands to its associated view to change the view's presentation of the model (e.g., by scrolling through a document).

Controller is responsible for Notice of action. Controller responds to the mouse or keyboard input to command model and view to change. Controllers are associated with views. User interaction triggers the events to change the model, which in turn calls some methods of model to update its state to notify other registered views to refresh their display.

Following are the few of the benefits of MVC design pattern.

Since MVC handles the multiple views using the same enterprise model it is easier to maintain, test and upgrade the multiple system. It will be easier to add new clients just by adding their views and controllers. Since the Model is completely decoupled from view it allows lot of flexibilities to design and implement the model considering reusability and modularity. This model also can be extended for further distributed application. It is possible to have development process in parallel for model, view and controller.

6. DFD”S

Page 19: Virtual shopping

7. Data Structure(Tables)

Page 20: Virtual shopping
Page 21: Virtual shopping

8. Platform used

Page 22: Virtual shopping

9. Requirement Specification

Virtual Shopping System Specification:

The system specification is the final work produced by the system and requirements engineer. It serves as the foundation for hardware engineering, software engineering, database engineering and human engineering. Once requirements have been gathered explore each requirements in relationship to others, examine requirements for consistency, omissions and ambiguity.

Hardware Specification

It is recommended that the minimum configuration for clients is as appended below:-

Microprocessor : Pentium-2 class processor & above

Ram : 128 MB of RAM

Hard Disk : 2.5 gigabytes (GB) on installation drive,

Which Includes 500 MB on system drive.

CD ROM Drive : 52 X CD ROM Drive

Software Specifications

Operating System : Windows 8, 7, 10/Windows 2000 NT

RDBMS : Sql Server 2008/2010

Front End : Microsoft Visual Studio.NET with C#

Page 23: Virtual shopping

10. Sample Code

Model.cs

using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Web;using Retailers.Common;

namespace Retailers.Models{ /// <summary> /// Developed By:Rishabh Atri /// Developed On:27-March-2015 /// Description:This is mapping class for mapping productCategory table of database /// </summary> ///

[Table("ProductCategory")] public class ProductCategory {

DataFunctions ObjDF = new DataFunctions();

Page 24: Virtual shopping

[Key] [Display(Name = "ProductCategory Id")] public int ProductCategoryId { get; set; }

[Required(ErrorMessage = "Category name is required")] [StringLength(50, ErrorMessage = "Name of Category must be less then 50")] [RegularExpression("^[A-Z-a-z]*$", ErrorMessage = "Category Name must be alphabatic.")] [Display(Name = "ProductCategory Name")] public string ProductCategoryName { get; set; }

public bool IsActive { get; set; }

#region Fetching record from ProductCategory Table public IEnumerable<ProductCategory> productcategoryList { get { DataTable dtProductCategory = ObjDF.SelectData(StoredProcedures.usp_SelectProductCategory); List<ProductCategory> PCList = new List<ProductCategory>(); if (dtProductCategory.Rows.Count > 0) { foreach (DataRow dr in dtProductCategory.Rows) { ProductCategory objProductCategory = new ProductCategory();

Page 25: Virtual shopping

objProductCategory.ProductCategoryId = Convert.ToInt32(dr["ProductCategoryId"].ToString()); objProductCategory.ProductCategoryName = dr["ProductCategoryName"].ToString(); objProductCategory.IsActive = Convert.ToBoolean(dr["IsActive"].ToString());

PCList.Add(objProductCategory); }

} return PCList; } } #endregion

#region Code for insert record in ProductCategory public bool InsertProductCategory(ProductCategory product) { SqlParameter[] param = new SqlParameter[2]; param[0] = new SqlParameter("@productCategory", SqlDbType.VarChar, 50); param[0].Value = product.ProductCategoryName; param[1] = new SqlParameter("@isActive", SqlDbType.Bit); param[1].Value = product.IsActive;

return ObjDF.CRUD(StoredProcedures.usp_InsertProductCategory, param); }

#endregion

Page 26: Virtual shopping

#region Code for Update record in ProductCategory public bool UpdateProductCategory(ProductCategory productUpdate) { SqlParameter[] param = new SqlParameter[3]; param[0] = new SqlParameter("@ProductCategoryId", SqlDbType.Int); param[0].Value = productUpdate.ProductCategoryId; param[1] = new SqlParameter("@ProductCategory", SqlDbType.VarChar, 50); param[1].Value = productUpdate.ProductCategoryName; param[2] = new SqlParameter("@isActive", SqlDbType.Bit); param[2].Value = productUpdate.IsActive;

return ObjDF.CRUD(StoredProcedures.usp_UpdateProductCategory, param);

} #endregion

#region Code for Delete record from ProductCategory public bool DeleteProductCategory(ProductCategory productDelete) { SqlParameter[] param = new SqlParameter[1]; param[0] = new SqlParameter("@ProductCategoryId", SqlDbType.Int); param[0].Value = productDelete.ProductCategor

Page 27: Virtual shopping

Controller.cs

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using Retailers.Models;using System.Configuration;

namespace Retailers.Controllers{ /// <summary> /// Developed By:ShrutiGoyal /// Developed On:07-April-2015 /// Description:this is interface for access another class members. /// </summary> /// public class ProductCategoryController : Controller { ProductCategory objproductCategory = new ProductCategory();

#region Product Category List public ActionResult ProductCategoryList() { if (Session["AdminRole"].ToString() == ConfigurationManager.AppSettings["Super Admin"].ToString()) { return View(objproductCategory.productcategoryList.ToList()); } else { return RedirectToAction("Index", "Home")

Page 28: Virtual shopping

} } #endregion

#region Create ProductCategory

[HttpGet] public ActionResult Create() { if (Session["AdminRole"].ToString() == ConfigurationManager.AppSettings["Super Admin"].ToString()) { return View(); } else { return RedirectToAction("Index", "Home"); } } [HttpPost] public ActionResult Create(ProductCategory P) { if (ModelState.IsValid) { objproductCategory.InsertProductCategory(P); return RedirectToAction("ProductCategoryList"); } else { return View(); } #endregion

Page 29: Virtual shopping

#region Edit_ProductCategory [HttpGet] public ActionResult Edit(int id) { if (Session["AdminRole"].ToString() == ConfigurationManager.AppSettings["Super Admin"].ToString()) { return View(objproductCategory.productcategoryList.Single(x => x.ProductCategoryId == id)); } else { return RedirectToAction("Index", "Home"); } } [HttpPost] public ActionResult Edit(ProductCategory ProductCategoryEdit, int id) { if (ModelState.IsValid) { ProductCategory objProductCategoryEdit = objproductCategory.productcategoryList.Single(x => x.ProductCategoryId == id); objProductCategoryEdit.ProductCategoryName = ProductCategoryEdit.ProductCategoryName; objProductCategoryEdit.IsActive = ProductCategoryEdit.IsActive; objProductCategoryEdit.UpdateProductCategory(objProductCategoryEdit); return RedirectToAction("ProductCategoryList"); }

Page 30: Virtual shopping

else { return View(); } } #endregion

#region Active Deactive public ActionResult DeActivate(int id) { ProductCategory objProductCategoryUpdate = objproductCategory.productcategoryList.Single(x => x.ProductCategoryId == id); if (objProductCategoryUpdate.IsActive) { objProductCategoryUpdate.IsActive = false; objproductCategory.UpdateProductCategory(objProductCategoryUpdate); return RedirectToAction("ProductCategoryList"); } else { objProductCategoryUpdate.IsActive = true; objproductCategory.UpdateProductCategory(objProductCategoryUpdate); return RedirectToAction("ProductCategoryList"); } } #endregi }}

Page 31: Virtual shopping

View.cshtml

@model IEnumerable<Retailers.Models.ProductCategory>

@{ ViewBag.Title = "ProductCategoryList"; Layout = "~/Views/Shared/AllList.cshtml";}

<h2 style="color:maroon;">ProductCategory List</h2>

<p> @Html.ActionLink("Home", "Index", "Home")&gt; @Html.ActionLink("All ProductCategory", "ProductCategoryList", "ProductCategory") &gt; @Html.ActionLink("Insert ProductCategory", "Create", "ProductCategory")</p><table class="table"> <tr style="background-color:darkkhaki;"> <th> @Html.DisplayNameFor(model => model.ProductCategoryName) </th> <th> @Html.DisplayNameFor(model => model.IsActive) </th> <th>Actions</th> </tr>

@foreach (var item in Model) { <tr> <td>

Page 32: Virtual shopping

@Html.DisplayFor(modelItem => item.ProductCategoryName) </td> <td> @Html.DisplayFor(modelItem => item.IsActive) </td> <td> @Html.ActionLink("Edit", "Edit", new { id = item.ProductCategoryId }) | @Html.ActionLink(item.IsActive?"DeActivate":"Activate", "DeActivate", new { id = item.ProductCategoryId }) </td> </tr> }

</table>

Page 33: Virtual shopping

Data Functions.cs

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Data;using System.Data.SqlClient;using System.Configuration;

namespace Retailers.Common{

/// <summary> ///Developed By:Shruti Goyal ///developed on:26-March-2015 ///Description:This is Model Class for all DataFunctions /// </summary> public class DataFunctions { private SqlConnection con; private SqlCommand cmd; private DataSet ds; private SqlDataAdapter Adapter;

public DataFunctions() { con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString);

Page 34: Virtual shopping

} public DataTable SelectData(StoredProcedures SpName) { con.Open(); cmd = new SqlCommand(SpName.ToString(), con); cmd.CommandType = CommandType.StoredProcedure; Adapter = new SqlDataAdapter(cmd); ds = new DataSet(); Adapter.Fill(ds); con.Close(); return ds.Tables[0]; }

public bool CRUD(StoredProcedures SpName,SqlParameter[] Param ) { con.Open(); cmd = new SqlCommand(SpName.ToString(), con); cmd.CommandType = CommandType.StoredProcedure; foreach(SqlParameter p in Param) { cmd.Parameters.Add(p);

} int result = cmd.ExecuteNonQuery(); con.Close(); return result > 0 ? true : false; } }

}

Page 35: Virtual shopping

StoredProcedures.cs

using System;using System.Collections.Generic;using System.Linq;using System.Web;

namespace Retailers.Common{ /// <summary> /// Developed By:Rishabh Atri /// Developed On:26-March-2015 /// Description:This is mapping class for StoreProcedure /// </summary> public enum StoredProcedures { #region ShopCategory

usp_ShopCategory, usp_InsertShopCategory, usp_DeleteShopCategory, usp_UpdateShopCategory,

#endregion

#region Area usp_SelectArea, usp_InsertArea, usp_UpdateArea, usp_DeleteArea , #endregion

#region ProductCategory

Page 36: Virtual shopping

usp_SelectProductCategory, usp_InsertProductCategory, usp_UpdateProductCategory, usp_DeleteProductCategory, #endregion

#region User SelectUser , InsertUser, UpdateUser, DeleteUser, #endregion

#region ProductSubCategory usp_InsertSubProduct, usp_UpdateSubProduct, usp_DeleteSubProduct, usp_SelectProductSubCategoryWithProductCategory, #endregion

#region ShopDetail usp_SelectShopDetailWithUserAreaShopCategory, usp_InsertShopDetail, usp_UpdateShopDetail, usp_DeleteShopDetail , #endregion

#region ProductDetail usp_SelectProductWithShopProductSubcategory , usp_DeleteProduct , usp_UpdateProduct, usp_InsertProduct,

Page 37: Virtual shopping

#endregion

#region ProductImage usp_ProductImageWithProductDetail, usp_DeleteProductImage, usp_UpdateProductImage, usp_InsertProductImage , #endregion

#region Admin usp_UpdateAdmin, usp_SelectAdminWithRole, usp_InserAdmin, #endregion

#region UserRole usp_SelectUserRole, usp_InsertUserRole, usp_UpdateUserRole, #endregion

#region Login usp_SelectAdminLogin, usp_SelectShopLogin, usp_SelectUserLogin #endregion }}