Skip to content
S.Tasnia Priyanka edited this page May 31, 2017 · 1 revision

Cloud Based Ecommerce Project Report

Content of this Report:

  • A quick brief introduction about the course

  • Cloud based web application project

    • A brief introduction of several major sections the project of

      this course covered

      • Features and implementations

        • Development process
      • Project result

      • Risk Factor

      • Source code of developed project

About Course:

The course ‘Software Development for Web’ was about to introduce client-server architecture using ASP.NET framework, focused on from a very beginner level to advance implementation. This course also covered a vast area on cloud computing and its usage from a scratch level.

This course also offered us developing a web application as a learning reflection of the entire course period.

As a part of this course, I have developed a cloud based ecommerce solution. Further section would be covered with necessary demonstration of the project.

Cloud- based Ecommerce Project:

Project Name: Dhaka Food Restaurant

Objective**:** The core concept of this project was focused aiming people who seeks pre-order their food before arrival to restaurant. As a demo, I have used a possible restaurant activity developed on ASP.Net platform.

Technical Details*:***

  • IDE**:** Visual Studio 2013/2015

  • .NET Framework 4.5

  • MVC 4

  • Programming language: C# and JavaScript

  • SQL Server database

  • SignalR v2

  • PayPal Sandbox environment

  • External Authentication: Gmail

  • Google Map API (non-commercial)

  • Azure Hosting Service (Free- trial)

  • Browser (Chrome, Edge, Mozilla)

  • ASP.Net OWIN Identity

Implementation:

Development process:

I have followed Agile methodology. A developing process to plan, design, development, testing and deliver to end users.

Version Control: I have used Github to maintain version control of this application.

Page. 1

Implemented Project Features:

This web application has offered following features to its customer.

  • All customers can view food menu with current ratings in ‘Menu’ section.

  • Inside ‘Menu section’ customers can order food directly without logging in.

  • If customer is not logged in then he/she will not get access to rate any food but to view only to avoid spam ratings.

  • A very simple and quick credit card payment system has been introduced through PayPal API.

  • Before proceeding to PayPal, customer need to fill few required fields including their personal identity number that will be stored with their transaction history. Site admin can always review transaction status in PayPal portal.

  • This web application introduced a light weight real time communication ‘public chat room’ using

SignalR protocol (v2) in ‘Contact us’ section, where site admins and customers can exchange message instantly if anyone has any special request or general query for faster feedback.

  • Considering user experience Google sign up has been introduced to customers, for whom wish to not create account.

  • Customers should be able to browse this application with all modern compatible browser. Such as Chrome, IE Edge, Mozilla.

  • Considering securing authorization this application provides multi role based authorization to access different service. Such roles are ‘Super Admin’, ‘Admin’ and ‘General’ user.

  • Sharing this site URL to Facebook is also enabled for customers.

Implementations:

This section will cover few important implementation details from the above features.

Coding Hypothesis:

  • *Role based Authentication: *

In this application, I have introduced ‘3 different Role based authorization’ using Microsoft ASP.Net Identity OWIN. I have created different role names based on my application requirement and OWIN’s ‘RegisterViewModel’ I have specified users access by default for distinct roles.

Moreover, A view has been generated only for ‘Super Admin’ where super admin can assess and change role status for authenticated users.

However, multiple person can be admin and they can always keep track of products and can perform CRUD operations as needed. General users do not have any permission for product CRUD operations.

Diagram1: This snapshot above shows the access that only super admin can perform.

  • *Real time communication: *

This application has used SignalR protocol (v2) and java script as a client to implement real time communication. Here, I have developed a very simple chat application for all different users (public and private). A public chat room is developed, where message can be exchanged with all the users who are sharing the same pipeline. By creating hub and OWIN start up class, messages are pushed to clients.

Page. 2

Diagram2: This diagram demonstrates a scenario of public chat room

  • *External Sign up *

This application has enabled for customers to login in this site using OAuth2.0 which is an industry standard protocol for authorization with credential from an external authentication provider ‘Google’.

Diagram3: Snippets from this application login page with available options

I have created a Google app for OAuth 2 and connected the app in this project by configuring the client id and secret key in Startup.Auth.cs class.

  • *Add location to Google Map: *

The sandbox of physical location of this application has been pointed in Google Map in ‘Contact us’ section. To activate the link, I also had to have a registered URL in Google, pointing to this application for generating Google Maps API key. While requesting for Google Map API ‘secret key’ has been added that is only valid or this application site URL.

  • *Integrate PayPal API *

To establish a secure payment system PayPal API has been used and integrated where customer will add their primary information before processing transaction. Using this API enables customers to make credit card payments with only a few clicks, depending on the country.

Diagram 4: A snippet right after a customer has finished credit card payment.

Page. 3

  • *Host application on Azure: *

I have used Azure app service to host this web application and database as per a core requirement of this project. Azure app service lets developers rapidly build, deploy and deliver products to end users by its own standard web app and APIs.

Click here to view this application hosted by azure.

Project result & Learning Outcome:

Develop an MVP (Minimal Viable Product) and its importance:

The intention of this project was to demonstrate on developing MVP based on cloud computing feature. A well-structured MVP can lower risk of security, vulnerabilities and budget.

Risk Factors:

From my observation, I assume the following risks should be maintained before publishing the site for commercial purpose.

  1. Although considering this as MVP application it also lacks behind using as commercial purposes. Chat communication can be more secured by introducing connection mapping users with multiple connections.
  1. After completing payment, customers should get some strong confirmation as sensitive credit card data will be used in this system.

Source Code: The source code of this project should be found here.

Page. 4

Clone this wiki locally