Bite Size Contents on Instagram

Recommendation System in ASP.net - Online Branding System




Online Branding System, Recommendation System in ASP.net Free Project
Online Branding System, Recommendation System in ASP.net Free Project

The British College

Online Branding System
Production Project


Abstract
Web applications have become an integral part of this digital world. And in order to get success in any business, the brand or the business should be visible and known among the people. With the help of helping such business or organization in the field of marketing or making visible among the people, Online Branding System has been designed and developed. The main purpose of this research is to implement recommendation system in this web application. This will be done by doing research on various recommendation system algorithms, technologies that will be used and different feasibility studies.


Table of Contents

A.    Introduction

Online Branding System is a web application based on recommendation system algorithms which helps to promote local, small – big organization. In this world of technology, the internet has been the great platform to promote and operate any business without any geological boundaries. Thus, the concept of recommendation system has been used in this project which will recommend the brands or business to the end users according to their interests without any hassle. Here, the word hassle indicates process to create the user account and log in to the application in order to get recommendation. This (Online Branding System) app is so clever that it will recommend the brands without getting your personal information. As we know privacy matters in this digital world, we won’t take any personal information about you in our databases. The algorithm used in this project will be discussed in this project shortly.  

1.      Aims of the Project

The main aim of this project is to design and develop a web platform for brands which will help them to promote their products/services among the targeted users. Beside brands, Normal user will also be able to search brands according to their preferences, view detail brand page, review them, view recent activities/events/blogs, etc.

2.      Objectives of the Project

Some of the major objectives of my projects are listed below
                                            i.            Research, analyze, identify and evaluate the technology, tools and resources by other similar systems.
                                          ii.            Use different fact finding techniques like questionnaires, survey, interview, etc. to collect data which is important to make SRS (System Requirement Specification) document.
                                        iii.            Conduct feasibility study and decide an appropriate Software Development Life Cycle to manage the project.
                                        iv.            Design ERDs and UML diagrams for the project implementation.
                                          v.            Research and learn the technologies to be used to develop the project (i.e. Online Branding System)
                                        vi.            Research on Recommendation Systems and their algorithms to be used.
                                      vii.            Visit the sites which have already implemented the recommendation system.
                                    viii.            Identify methods, tools and techniques to mitigate the risks and protect against possible threats.
                                        ix.            Testing, debugging and summarizing the project.
                                          x.            Deploying the developed project in Local Server i.e. IIS Server
                                        xi.            Evaluate the product developed and recommend for future changes.

Chapter 2

B.     Feasibility Study

As the name implies, a feasibility study is an analysis of the viability of an idea. The feasibility study focuses on helping answer the essential question of “should we proceed with the proposed project idea?” All activities of the study are directed toward helping answer this question (Extension.iastate.edu, 2017). Some of the reasons to conduct feasibility study are as follows:
i.                    It gives priority to the project and framework options.
ii.                  It helps to identify the best alternatives.
iii.                New opportunities can be identified via the investigative processes.
iv.                Helps to find out the reasons to stop proceeding.
v.                  Improves the likelihood of progress by tending to and relieving components at an early stage that could influence the venture.
vi.                Helps in decision making process by providing quality data.
vii.              Gives documentation that the business wander was altogether examined.
viii.            Assists in securing subsidizing from loaning, organizations and other money related sources.
ix.                It also helps to draw in value venture.
In order to evaluate the project’s potential for success, feasibility study has been conducted. Some of the major areas of feasibility study to make Online Branding System are discussed below

1.      Economic Feasibility

Economic feasibility is the cost and logistical outlook for a business project or endeavor. Prior to embarking on a new venture, most businesses conduct an economic feasibility study, which is a study that analyzes data to determine whether the cost of the prospective new venture will ultimately be profitable to the company. Economic feasibility is sometimes determined within an organization, while other times companies hire an external company that specializes in conducting economic feasibility studies for them. Economic feasibility describes a projection of the amount of funding or startup capital needed, what sources of capital can and will be used, and what kind of return can be expected on the investment (Investopedia, 2017).
In order to determine the Economic Feasibility of the project for “Online Branding System”, various aspects have been considered and researched to find whether the project is doable within the budget provided by the college or not. Some of the major aspects that should be considered during economic feasibility are discussed below
·         Economic Costs
In every project, finance or budget is an important factor on which the project estimation depends. In case of Online Branding System, the project is related to computer applications, so the different types of cost associated with a computer project are as follows
                                                                                            i.            System analysis and design
                                                                                          ii.            Hardware purchase costs
                                                                                        iii.            Software License Cost
                                                                                        iv.            Training Cost
                                                                                          v.            Installation Cost
                                                                                        vi.            Operation Cost
                                                                                      vii.            Human Resource Cost
Since the Online Branding System is an individual driven college project, there won’t be any high expenses.

2.      Technical Feasibility

Technical Feasibility evaluates the present assets, (for example, equipment and programming) and innovation, which are required to achieve client prerequisites in the product inside the apportioned time and budget allocated. For this, the product improvement group finds out whether the present assets and innovation can be redesigned or included the product to achieve determined client necessities. This technical feasibility study is based on an outline design of system requirements, to decide if the organization has the specialized skill to deal with fulfillment of the venture. Technical feasibility lays out subtle elements on how a decent or administration will be conveyed, which incorporates transportation, business area, innovation required, materials and work. Technical feasibility is concerned with determining hardware and programming that will effectively fulfill the client prerequisite.
In order to determine the technical feasibility of Online Branding System, following things were included
                                            i.            Materials: In order to develop an application the basic needs are computers, electricity and internet, and all of this things are available on college premises, or at home, so it meets the resource or material requirement to develop the project.
                                          ii.            Human Resource: Since, Online Branding System is a Project of IT student, the student himself/herself is the Human Resource and knows all the technical aspects to develop the project. Thus, it meets the Human Resource also.
                                        iii.            Physical Location: As we know College is in Kathmandu, it is physically possible to initiate any project.
                                        iv.            Technology: College being in the capital of the country, the college is facilitate with every technology needed.
In analyzing technical feasibility, design of the system is given more significance than the real make of equipment. The arrangement ought to give the total picture about the systems prerequisites

3.      Operational Feasibility

Operational feasibility surveys the degree to which the required software performs a series of steps to take care of business issues and client necessities. This feasibility is dependent on human resources (software development team) and includes envisioning whether the product will work after it is created and be operative once it is installed. It is the degree of how well a planned project takes care of the issues, and exploits the open doors distinguished amid degree definition and how it fulfills the necessities recognized in the prerequisites investigation period of system improvement. It concentrates on how much the proposed development projects fits in with the current business condition and targets as with regard to development schedule, delivery date, corporate culture and existing business forms. As Bowen Says, “Operational Feasibility measures how well your company will be able to solve problems and take advantage of opportunities that are presented during the course of the project” (Bowen, 2017).
To ensure success, desired operational outcomes must be imparted during design and development. These includes such design-dependent parameters as reliability, maintainability, supportability, usability, producibility, disposability, sustainability, affordability and others.
Online Branding System is a web application, anyone who knows to use internet and browse things over the browser can use this application. The application will have simple user interface and will not be difficult to navigate. And the application is responsive, which means it will change its shape according to the width of the device, so there won’t be any visibility problems. Thus, any one with prior knowledge of internet and browser can easily operate the application. Thus, the application is operationally feasible.

4.      Legal Feasibility

Legal feasibility is a determination of any infringements, violation or liability that could result from development of the system and determines whether the proposed system conflicts with legal requirements, e.g. data processing system must comply the local data protection acts, whether the proposed system conflicts with legal requirements, e.g. a data processing system must comply with the local data protection regulations and if the proposed venture is acceptable in accordance to the laws of the land. It includes study concerning contracts, liability, violations, and legal other traps frequently unknown to the technical staff.
Online Branding System is legally developed under the surveillance of college supervisors within the rules of college and other laws. It also protects the privacy of the user and brand owners. Thus, it is legally feasible as it doesn’t violate any laws and orders.

5.      Time Feasibility

A project will fail if it takes too long to ever be finished before it is valuable. Normally this implies evaluating to what extent the project will take to create, and in the event that it can be finished in a given day and time utilizing a few strategies like payback period.
Time  Feasibility can defined as the possibility of a project to be finished within its scheduled time boundaries, by an arranged due date (Taskmanagementguide.com, 2017). On the off chance that a project has a high possibility to be finished on-time, then its timetable achievability is assessed as high. Much of the time a project will be unsuccessful in the event that it takes longer than it was assessed: some outer ecological conditions may change, subsequently a venture can lose its advantages, practicality and gainfulness. On the off chance that a work to be refined at a project does not fit the time allotments requested by its clients, then a schedule is unfeasible (measure of work ought to be lessened or other timetable pressure strategies connected).

Chapter 3

C.    Literature Review

1.      Online Branding System

As we discussed earlier, Online Branding System is a Web Application which is supposed to help the local brands and business to promote or to make their existence among the targeted clients. Here, the brands (page owners) can create their page which will describe their business, provide locations and information about the products or services they sell. Similarly, the client can view the brands they are interested on. There won’t be any hassle to the users to find the brands they are looking, since the application uses the recommendation system (will be discussed shortly) to recommend brands to the users. In order to protect privacy of the end users, no personal information will be collected.
Thus, the Online Branding System is intended to be helpful to both page owners (brands) and end users (client), by making the product known among the users and getting the information about the brands we want respectively.

2.      Recommendation System

The rapid growth in the amount of available digital information and the number of visitors to the internet have created a potential challenge of information overload which hinders timely access to items of interest on the Internet (Isinkayea, Folajimib and Ojokohc, 2017). And the information retrieval systems like google, devilfinder, etc. has partially solved this problem but prioritization and personalization of information were absent, Thus, the demand for recommendation system has increased these days. Simply, Recommendation Systems can be described as the facility that involves predicting user responses to options, mostly in web applications.  In other words, recommendation systems can be described as the subclass of information filtering system that seek to predict the “rating” or “preference” that a user would give to an item.
Some of the examples of recommendation systems are as follows
i.                    Providing news articles to the readers on news sites on the basis of expected user interests.
ii.                  According to the pass history of purchases and/or product of any customer to offer any online goods to the customer.
 Some of the major benefit of using recommendation systems are discussed below:
i.                    Recommendation systems depends on genuine behavior of the user i.e. objective reality. And this is the biggest advantage – watching the actual behavior of the user and interpreting the results based on those results.
ii.                  These systems are also great for discovery. Among thousands of product over the internet, it is a lot easier to find the recommended product.
iii.                Such systems are powerful tools for personalization. We frequently take suggestions from loved ones because we trust their opinion. They know what we like better than anyone else and they are better in recommending things too. And the recommendation system tries to model these whole process. (Muthukumar).
iv.                And another important feature of recommendation system is that they are always updated.
 Some of the basic approaches that recommendation systems take are discussed below
i.                    Collaborative Filtering
One of the major methodologies used to recommend system based on users past behavior is Collaborative filtering. The method includes collecting and analyzing huge amount of user’s information, activities or preferences and recommending products or services that the user might like on the basis of similarity to other users. According to Jones, 2013 “recommendations are based on an automatic collaboration of multiple users and filtered on those who exhibit similar preferences or behaviors”.
One of the major benefits of using the collaborative filtering approach is that it is independent on machine readable content. Thus, it is proficient of correctly recommending and predicting complex items among millions of products like movies, news etc. without needing any “understanding” about the properties of item itself.
Pros:
·         It is capable of making accurate predictions if enough information is available.
·         Another important advantage of this approach (collaborative filtering) is that it is independent of any machine analyzable content due to which it has the capacity to recommend the complex items like movies, news, etc. and it doesn’t even needs any understanding of the properties of the item itself.
Cons:
In order to make accurate predictions, it needs a lot of information about the product or service (Cold Start).
·         Cold start: As discussed earlier, it requires a tremendous measure of existing information on a client keeping in mind the end goal to make exact suggestions.
·          Scalability: In a considerable lot of the situations in which these frameworks make prediction, there are a many clients and items. Therefore, a lot of calculation power is frequently important to dissect forecasts.
·         Sparsity: The quantity of things sold on real internet business destinations is amazingly huge. The most dynamic clients will just have evaluated a little subset of the general database. In this manner, even the most famous things have not very many ratings.
Assumption:
These sorts of filtering methods depends on the supposition that the client who concurred in the past will concur in the up and coming days as well, and that they will like the comparable sorts of items/administrations as they loved previously.


Data Collection Methods:
When constructing a model from a client's conduct, a refinement is frequently made amongst express and certain types of information gathering.
Examples of explicit data collection include the following:
     Requiring the client rating on a thing on a measuring scale.  
     Telling a client to seek on specific destinations.
     Querying a client to rank a gathering of items from the most loved to the slightest most loved things.
     Displaying two things to the clients and making them select him/her to choose the better one among them.
     Telling clients to make the list of things they may like.
Examples of implicit data collection include the following:
     Noticing the items that a client visits in an online store.
     Analyzing thing/client seeing circumstances.
     Keeping a record of the items that a client purchases on the web.
     Obtaining a list of items/administrations that a client has tuned in to or viewed on his/her PC.
     Analyzing the client's interpersonal organization and finding comparable preferences.
Used By:
To suggest new companions, bunches, and other social associations (by analyzing the network of associations between a clients and their companions) in social networking sites like Facebook, MySpqce, LinkedIn, etc. collaborative approach is utilized. Essentially, Twitter utilizes many signs and in-memory calculations for anticipating who to take after to its clients.
ii.                  Content-based Filtering
“Content-based filtering is a domain based algorithm and it emphasizes more on the analysis of the attributes of items in order to generate predictions”, (Isinkayea, Folajimib and Ojokohc, 2017). In this technique, recommendation is made based on the user profiles using features extracted from the content of the items the user has evaluated in the past and products/services with most positively rated goods are recommended to the user. Simply, content-based filtering uses keywords to define the products and a client profile is built to specify the variety of products such user likes. In other words, these technique recommends items that are alike to those that a user liked in the past (or is inspecting in the present).
Pros:
Needs very little information to get started.
Cons:
Some of the major disadvantages of using this approach as it is capable of making the predictions that are alike to the original seed. The essential issue with the content based filtering is that whether the project can take in clients loving from their exercises concerning one substance source and utilize them crosswise over other kind of substance. At the point when the system is obliged to endorsing substance of an indistinguishable sort from the client is now executing, the incentive from the anticipating system is essentially not as much as when other substance sorts from different administrations can be anticipated. For example, recommending news articles in light of perusing of news is useful, yet would be significantly more important when music, recordings, things, trades et cetera from different organizations can be endorsed in perspective of news examining.
Data Collection Methods
·         While creating user profile
In order to create the profile of the user, there are two types of information that the system mostly focuses on. They are discussed as below:
                                                                                            i.            A model of the user's liking.
                                                                                          ii.            Past behavior of the user’s interaction with the recommendation systems.
·         Tracking user behavior
To track the behavior of the user direct feedback from the users can be collected, typically in the method of a like or dislike buttons. And it can be utilized to allocate the different (maximum or minimum) degree on the status of certain properties (implementing the techniques like Rochhio classification or others).
                                    Used By
                                    Content-based filtering approach is used by the Pandora.
iii.                Hybrid Recommendation System
According to the research conducted recently it is found that a hybrid recommendation approach i.e. both collaborative filtering and content based filtering combining, could be more operative in different cases. The major reason to use hybrid approach is to obtain more accurate and effective recommendations than a single methodology, as the limitation of one methodology can be overcome by the other one. Thus, this methodology of recommendation system can be used by any of the following ways
i.                    Implementing different algorithm separately then combining the result as one.
ii.                  Implementing few content-based filtering in collaborative approach and vice versa.
iii.                Making a unique combined recommender system that can bring both of the approaches together.
Among these two approaches of recommendations system, content based filtering approach has been used on Online Branding System to recommend the brands. Thus the recommendation is based on the properties of the brands i.e. rating given by the users and number of page views on certain brands. The system also sorts the brands based on the category and the location of the visitor or end user. Beside this user also can search specific brands using the search box on the top of the site. 

3.      Recommendation System Algorithms

Some of the major algorithms used by Recommendation systems are discussed below:
i.                    Pearson Correlation
Implementing this algorithm, the likeness between two clients (and their traits, for example, articles read from multiple sites) can be precisely figured. It likewise measures the straight dependence among factors (or users) as a component of their abilities. But it is not capable of calculating this measure over all the population of the clients. Rather the population can be categorized into to groups based on maximum-level resemblance metric, like reading news posts that have similar preferences. Among many, Pearson Correlation is one of the widely used collaborative filtering technique.
ii.                  Clustering Algorithms
Clustering Algorithms are a type of unverified discovering that has the capacity to discover pattern in an arrangement of apparently haphazard information.
Clustering Algorithms are a method of unofficial learning that has potential to discover pattern in a set of apparently haphazard data. Essentially, they work by recognizing likenesses amid things, for example, news post per users, by computing their separation from different things in a component space (Here Feature in an element space could speak to the quantity of articles read in an arrangement of websites). The quantity of autonomous properties describes the dimensionality of the space. If products are "close" together, they can be joined in a cluster or group.
Among many grouping calculations, k-means is the least difficult one, which allotments things into k bunches. At first, the things are haphazardly put into groups. At that point, a centroid (or focus) is figured for each group as a component of its individuals. Every thing's separation from the centroids is then checked. In the event that a thing is observed to be nearer to another group, it's moved to that bunch. Centroids are recalculated each time all thing separations are checked. At the point when security is achieved (that is, the point at which no things move amid an emphasis), the set is legitimately bunched, and the calculation closes (Jones, 2013). Some of other clustering algorithms are Adaptive Resonance Theory (ART) family, Fuzzy C-means, and Expectation-Maximization (probabilistic clustering).
iii.                Others
Many other algorithms exists for recommendation system, some of them that have been used effectively are discussed below
·         Bayesian Belief Nets
·         It is one of the mainstream algorithm for prediction system which can be imagined as a coordinated non-cyclic diagram, with curves speaking to the related probabilities among the factors.
·         Markov Chains
This algorithm adopts comparative strategy to Bayesian Belief Nets however regard the suggestion issue as successive improvement rather than just expectation.
·         Rocchio Classification
This calculation is produced with the Vector Space Model, which abuses criticism of the thing importance to enhance suggestion exactness.


Chapter 4

D.    Technologies Review

1.      HTML5

HTML5 is the latest evolution of the standard that defines HTML, with new elements, attributes, and behaviors. And in this version, special attention has been given defining clear conformance criteria for user agents in an effort to improve interoperability. Here, HTML stands for Hyper Text Markup Language which is the standard markup language for creating web pages and web applications. Since, Online Branding System is a web application, HTML5 has been used to design the application.

2.      CSS3

CSS is an acronym for Cascading Style Sheet which is used for describing the design or looks or presentation of a document written in a markup language i.e. HTML. And CSS3 is the latest version of CSS which brings lots of novelties, like rounded corners, shadows, gradients, transitions or animations, as well as new layouts like multi-columns, flexible box or grid layouts. After the Online Branding System is designed using HTML, better looks is given by applying CSS on it.

3.      C#

C# is an exquisite and type-safe object-oriented language which offers designers to make a scope of secure and solid applications that keep running on the .NET Framework.

4.      Asp dot Net

ASP.NET is an open source server side web application framework for building modern web apps and services with .NET. ASP.NET creates websites based on HTML5, CSS, and JavaScript that are simple, fast, and can scale to millions of users (The Official Microsoft ASP.NET Site, 2017). It was developed by Microsoft and first released on January 2002 with version 1.0 of the .Net Framework. And it allows you to use a full featured programming language such as C# or VB.NET to build web applications easily. Since, Online Branding System is an web based application in C#, Asp .Net will be used to make dynamic web pages.

5.      MSSQL

Microsoft SQL Server (MSSQL) is a relational database management system (RDBMS) from Microsoft that’s designed for the enterprise environment. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications—which may run either on the same computer or on another computer across a network (including the Internet). And it runs on T-SQL (Transact -SQL), a set of programming extensions from Sybase and Microsoft that add several features to standard SQL, including transaction control, exception and error handling, row processing, and declared variables (Rouse, 2017). In order to save data of Online Branding System, MSSQL will be used.

Chapter 5

E.     Methodology Used (SDLC)

Among various models of Software Development Life Cycle, Waterfall model has been selected and implemented as a feasible methodology to develop the Online Branding System. In this methodology, software development process is broke down into several phases. One pahse is related with another phase and acts as an input for another stage.  The pictorial representation of the Waterfall model is as follows.
Waterfall Model
Waterfall Model
In software Engineering, the Waterfall Model is one of the popular Software Development Life Cycle model. It is often taken as the classic method to the software development life cycle that defines a development methodology that is linear and sequential, and has discrete goals for different phases of development.
Some of the major advantages of using waterfall models over other SDLC models are as follows:
i.                    One of the major advantage of this model is its simplicity i.e. easy and simple to use.
ii.                  This methodolgy of SDLC is easily manageable because of its firmness of the approach – here, each stage has precise deliverables and a review process.
iii.                Stages do not overlapp as they are processed and completed single at a time.
iv.                It is better suited for those projects whose requirements are clear and very well understood.
The various phases of the software development in Waterfall model are discussed below

1.      Requirement Analysis

Requirements analysis, also called requirements engineering, is the process of determining user expectations for a new or modified product. These features, called requirements, must be quantifiable, relevant and detailed. In software engineering, such requirements are often called functional specifications and is an important aspect of project management (Rouse, 2017).
This is the first phase of software development in Waterfall model, where all possible requirements of the system to be developed is captured and documented in a SRS (System Requirement Specification) document. In order to gather information for Online Branding System, various web application using recommendation system has been visited and used for some time. Some of them are rakuten.com, amazon.com, eBay, etc.

2.      System Design

After the requirement is gathered and SRS document is made, then the document is reviewed in this phase and system design is prepared. System design helps in specifying hardware and system requirements and also helps in defining overall system architecture. And based on the SRS document system design is prepared. Here, different diagrams that defines the overall system architecture is made. Some of the diagrams made for the Online Branding System are described below
i.                    ER-Diagram
An entity-relationship diagram (ERD) is a pictorial demonstration of an information system that shows the relationship among different objects like people, objects, places, concepts or events within that project. As Rouse Says, “It is a data modeling technique that can help define business processes and can be used as the foundation for a relational database” (Rouse, 2017).
An entity relationship diagram (ERD) defines the relationships of entity sets kept in a database. An entity in this context is a module of data. In other words, ER diagrams exemplify the logical building of databases. It looks similar to the flowcharts but it is the specific symbols, and the meanings of those symbols, that make the diagram unique.
Some of the elements of ERD are as follows
a.       Entities
b.      Relationships
c.       Attributes
Steps involved in creating an ER diagram are as follows:
a.       Identifying and defining the entities.
b.      Determining all interactions between the entities.
c.       Analyzing the nature of interactions/determining the cardinality of the relationships.
d.      Creating the ERD.


ii.                  Schema Diagram
As described on Licidchart, “The term "database schema" can refer to a visual representation of a database, a set of rules that govern a database, or to the entire set of objects belonging to a particular user” (Lucidchart, 2017). Schema Diagram denotes the logical arrangement of all or part of RDB and can occur both as a pictorial demonstration and as a set of formulas identified as integrity constraints that govern a database.
The Schema Diagram of the Online Branding System is as follows

Schema Diagram for Online Branding System
Schema Diagram for Online Branding System
As shown in figure above, the information about the application is stored in First table. Then the brand owner can add the details of the brands on brand table, users detail will be stored in user table, rating will be calculated and stored in rating table and pageviews in pageview table respectively.
iii.                Use-Case Diagram
An use case graph at its easiest is an exhibition of a client's collaboration with the system which demonstrates the connection between the client and the distinctive use cases in which the client is included. As described in Uml-diagrams.org, “Use case diagrams are usually referred to as behavior diagrams used to describe a set of actions (use cases) that some system or systems (subject) should or can perform in collaboration with one or more external users of the system (actors). Each use case should provide some observable and valuable result to the actors or other stakeholders of the system” (Uml-diagrams.org, 2017).
Some of the major benefits of using Use-Case diagrams are as follows:
a.       The UC diagram delivers a complete summary of the overall software archotecture in a single design.
b.      They are mainly collected of narrative text. Thus, unlike many other modeling techniques, the non-technical individuals (e.g. clients, end users, sales man, etc.) are also able understand the model for the software architecture. It means that advice can be gained at a very beginning phase of the development from the clients and the end users.
c.       Another vital pros of use case modeling is that it needs the identification of extraordinary situations for the use cases which support in finding the better substitute requirements in the system.
d.      This UC diagram can be utilized in various other part of software development as well, e.g. Cost Estimation, Project Planning, Test Case Preparation and User Documentation.
The use case diagram representing the Online Branding System is as follows
Use Case Diagram for Online Branding System
Use Case Diagram for Online Branding System

The figure above describes the relationship between different actor and the system. As shown in figure, admin has the full authority over all the activities like managing brands and page itself. Similarly the brand owner has the authority to create new brand and manage their page and the visitor can search brands, view brand details and rate the brands.
iv.                Class Diagram
According to Tutorials Point, “Class diagram is a motionless illustration that signifies the static view of an application which is used for visualizing, describing and documenting different phases of system and also for constructing executable code of the software application” (www.tutorialspoint.com, 2017). It illustrates a group of classes, interfaces, associations, collaborations and constraints and also describes the properties and operations of a class and also the constraints enacted on the system. The Class Diagram is also known as Structural Diagram.
The purpose of the class diagram can be summarized as follows:
i.                    Study and design of the static view of the project.
ii.                  Define responsibilities of a system.
iii.                Base for component and deployment diagrams.
iv.                Forward and Reverse Engineering.


v.                  Sequence Diagram
Sequence Diagrams are a sort of communication chart, since they depict how—and in what arrange—a gathering of articles cooperates. It indicates how the articles connect with others in a specific situation of a use case. With the progressed visual displaying ability, you can make complex grouping chart in few ticks.
The Sequence Diagram models the joint effort of articles in light of a period grouping. It demonstrates how the objects cooperate with others in a specific situation of a use case. With the progressed visual displaying capacity, you can make complex grouping outline in few ticks. The sequence diagram designed for the Online Branding System is as follows
Sequence Diagram for Online Branding System
Sequence Diagram for Online Branding System

Fig: Sequence Diagram of Recommendation process in Online Branding System
The figure above describes the process of recommendation in Online Branding System. As in figure, the brand first gets ratings from users via different means, then based on those ratings it recommends brands to the end user.

3.      Implementation

After the system architecture is designed, then the real design and development of the system is done in this phase. Based on the diagrams above, a working application is developed in units, and later integrated to make a single fully functional programs. Here, Database for Online Branding System is designed in MSSQL, layouts are designed using HTML and CSS then, the coding for the functioning of the application is done using C# and Asp .Net. After the development of the application is complete, it is then forwarded to the Testing Phase. Some of the glimpses of product implementation are discussed below.
Fig: Development of the Product using Visual Studio
The figure above shows the implementation phase of the Online Branding System. It shows the HTML code snippet written to design the system. Similarly on the right side of the image different file hierarchy can be seen. It consists of different Classes, Data Access Layers, Images, and Pages.

4.      Testing

In this phase, the fully functioning application developed in Implementation Phase is reviewed and checked for possible bugs/errors. If the testing phase is passed then the software is transferred to the Deployment phase, else it is send back to the implementation phase.
In order to test the application, different approaches is implemented. Some of the popular testing approaches are discussed below
i.                    Black Box Testing
“In this type of testing, internal system design is not considered, testing are based on requirements and functionality”, (Softwaretestinghelp.com, 2017). Any person even without prior knowledge about coding or internal architecture of the system can perform this type of testing.
ii.                  White Box Testing
White Box Testing (Glass Box Testing) is a testing based on knowledge of the internal rationale of an application’s code. Tests depend on introduction of code proclamations, branches, ways, conditions, and so forth. With a specific end goal to play out this sort of testing, analyzer ought to know the programming and inner working structure of the application.
iii.                Unit Testing
Unit testing is the testing of particular programming segments or modules. It is commonly done by the software engineer and not by analyzers, as it requires nitty gritty information of the interior program outline and code and may require creating test driver modules or test saddles.
Test log of unit testing done on Online Branding System is as follows
S.N.
Tested On
What was tested?
Expected Output
Remarks
1.       
3rd March, 2017
Clicked on Sign Up Menu.
Should Go to the Sign Up Form.
Passed [Sign Up Form was Opened]

Actual Output


Sign Up Menu Clicked
Sign Up Menu Clicked







S.N.
Tested On
What was tested?
Expected Output
Remarks
2.       
3rd March, 2017
Login menu was clicked.
Should go to the Login Page.
Passed [Login Page was opened]

Actual Output


Login Menu Clicked
Login Menu Clicked







S.N.
Tested On
What was tested?
Expected Output
Remarks
3.       
3rd March, 2017
Home menu was clicked
Should go to home page.
[Passed] Home page was successfully opened.

Actual Output


Home Menu Clicked
Home Menu Clicked







S.N.
Tested On
What was tested?
Expected Output
Remarks
4.       
3rd March, 2017
E-Commerce Category Menu was clicked.
Should show all the brands by e-commerce category.
[Passed] All the brands with e-commerce category were displayed.

Actual Output


Category Menu Clicked
Category Menu Clicked







iv.                Integration Testing
After the different units of the application is integrated, this testing is done to check whether the integrated modules function properly or not. Modules are ordinarily code modules, singular applications, customer and server applications on a system, and so on. This kind of testing is particularly significant to customer/server and circulated systems.
Test log of Integrated testing done on Online Branding System is as follows
S.N.
Tested On
What was tested?
Expected Output
Remarks
1.       
3rd March, 2017
After entering all the inputs, Sign Up Button was clicked.
Should create the brands if all the inputs are valid.
[Passed] Brand was successfully added and add successful message was shown.

Actual Output


Signup After Filling All Details
Signup After Filling All Details







S.N.
Tested On
What was tested?
Expected Output
Remarks
2.       

Valid Username and Password was inserted and login button was clocked.
Should successfully login and redirect to the Brand Profile Page.
Passed [Login was success and the brand profile page was shown.]

Actual Output


Login After Username and Password
Login After Username and Password







S.N.
Tested On
What was tested?
Expected Output
Remarks
3.       

After login, Image was uploaded to create gallery in brand profile page.
Image should be uploaded and shown to the gallery section in brand profile page.
[Passed] Image was successfully uploaded and displayed in gallery section.

Actual Output


Image Uploaded for Gallery in Brand Profile Page
Image Uploaded for Gallery in Brand Profile Page







v.                  Stress Testing
System is stressed past its determinations to check how and when it comes up short. Performed under substantial load like putting expansive number past capacity limit, complex database inquiries, ceaseless contribution to system or database stack.
Test log of Stress testing done on Online Branding System is as follows
S.N.
Tested On
What was tested?
Expected Output
Remarks
1.       

Tried to register the brands without filling any details.
Should display required field validation error and brand should not be registered.
Passed [Required Field Validation was shown and the brand was not registered.]

Actual Output


Register Without Filling Any Details
Register Without Filling Any Details







S.N.
Tested On
What was tested?
Expected Output
Remarks
2.       

Invalid email was used to create the brand.
Should display the Validation and brand should not be registered.
Passed [Error Message was displayed and failed to create brand page.]

Actual Output


Invalid Email While Registering Brand







5.      Deployment

After all the testing of the product is passed, the final functioning application is deployed in the customer environment or released into the market. In case of Online Branding System, the application will be hosted on a local server. Some of the steps involved in deploying the Online Branding System Website on local IIS server are discussed below
i.                    First, open the project in Visual Studio.
ii.                  Then, Create full application or make final changes and run the application to make sure that the application works.
iii.                Now, time to publish the application. Right click on the project i.e. (Online Branding System) in the solution explorer, then choose ‘Publish’ option from the context menu. It will open another screen (will discuss later).
Solution Explorer for Online Branding System
Solution Explorer for Online Branding System
iv.                In the next step, choose the ‘New Profile’ to create a new publish profile. The publish profile will have the settings for publishing the web application via File copy.
Creating New Profile in IIS
Creating New Profile in IIS
v.                  In the next screen we have to provide the details of the profile.
1.      Give a name for the profile such as File Copy
2.      Click OK button to create the profile
Giving New Profile Name to Publish
Giving New Profile Name to Publish
vi.                In this step, we specifically mention that we are going to Publish website via File copy.
1.      Choose the Publish method as File System.
2.      Enter the target location as C:\inetpub\wwwroot – This is the standard file location for the Default Web site in IIS.
3.      Click 'Next' button to proceed.
Giving target location to upload the file and publish
Giving target location to upload the file and publish
vii.              In the next screen, click the next button to proceed.

viii.            Click the ‘Publish’ button in the final screen.
Finally Publishing the Application
Finally Publishing the Application
ix.                Now just open the browser and go to the URL – http://localhost/, the home page of Online Branding System will appear.
Accessing the Application from Browser
Accessing the Application from Browser

6.      Maintenance

While running/using the application, the client or end user may experience some errors or may need changes, then the patches/updates will be released to solve the errors or add the features to the existing application. Maintenance is done to deliver these changes in the customer environment.
Maintenance of web applications is a vital as the design and development stage itself. The website needs regular checkups and adjustments in order to enhance the technical functions and also to update the systems, applications and software as per modern web trends. Negligence in web applications could cost a lot more in terms of site traffic and profits due to incompatible system and outdated information (Dalal, 2017). Some of the things that are involved in web application maintenance are discussed below
i.                    Routing equipment replacement/maintenance - this can be everything from moving ip ranges from one router to another, config upgrade or just a normal downtime. If the maintenance is planned IP address can be rerouted to a holding maintenance page.
ii.                  Load Balancer maintenance/replacement - as above
iii.                Data Centre relocation
iv.                Hardware upgrades
v.                  Software upgrades/updates
vi.                New code deployed (and checked before launched live)
vii.              Design change
viii.            Complete site remake in different technology (and it might still be exactly the same for the user)
ix.                Database optimization
x.                  Database migration/upgrade
xi.                CMS patches/updates

Chapter 6

F.     Tools Used

1.      Visual Studio 2015 (IDE)

Microsoft Visual Studio is an Integrated Development Environment (IDE) owned by Microsoft Corporations, used to develop programs for Microsoft Windows as well as web sites, web applications and web services. And it uses Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft Silverlight.
In order to develop the Online Branding System using C#, Asp .Net and MSSQL, Visual Studio 2015 has been used. The figure below shows the use of Visual Studio to develop the Online Branding System.

2.      Version Control

Version Control, also known as revision control or source control is a component of software configuration management and the management of changes to the documents, computer programs, large websites, and other collections of information. Simply, they are a category of software tools that help a software team manage changes to source code over time. Version control software keeps track of every modification to the code in a special kind of database. If a mistake is made, developers can turn back the clock and compare earlier versions of the code to help fix the mistake while minimizing disruption to all team members (Atlassian, 2017).
Following tools are used as version control system in Online Branding System
i.                    Source Tree
Source Tree is a free visual git and mercurial client for mac and windows. It is a desktop version control application powered by Atlassian, which is used to document changes of a project and save the changes on its database. The changes also can be saved over an internet (Source Tree) and the project can be accessed from anywhere via internet.


ii.                  Bit bucket
Bitbucket is a web-based hosting service for projects that use either the Mercurial (since launch) or Git (since October 2011) modification control systems. It offers both business arranges and free records. It is composed in Python utilizing Django web structure.

3.      Photoshop

Adobe Photoshop is a raster graphics editor developed and published by Adobe Systems for mac OS and windows. On Online Branding System, Photoshop was used to manipulate images and add effect on them to make them attractive. It was also used to sketch the design of the application. The use of Photoshop on the project is shown below.

Chapter 7

G.    Self-Evaluation of Online Branding System

1.      Project Description

As discussed above, Online Branding System is a web based recommendation system intended to help small to big organization or business to promote among national as well as international potential customers. The motto of the project “Recommendation with minimum input”, describes that the system can recommend brands to the end users on which they might be interested without requiring additional information about the user. So the user can secure their privacy while browsing this application. Users simply can visit recommended brand or search for their brands and see details about the brands as well as their services and rate those brands too.

2.      Important Features of the Project

Some of the major features of the project are discussed below
i.                    Brand Owner can register their brands for promotion, in this Online Branding System, brand/business owner can create their portfolio for free and easily. They can add description location, address, contact, etc. about their organization, which can attract more clients. They can also add images of their products/services in gallery section by which, end user can get clear view of the brand/organization.
ii.                  Recommendation with minimum input, Online Branding System does not need additional personal information about the user to recommend the brands among the user. As the system recommends the brands based on the page views and rating provided by the user.
iii.                Privacy of the end user is secure, as discussed on the paragraph above. The system doesn’t collect the personal information of the users. So the privacy remains secure while browsing this system.
iv.                Attractive and Responsive web pages, Online Branding System is designed using the modern concept of web designing. Latest Technologies like HTML5 and CSS3 are used. The web pages are completely responsive which means all the things on the pages like images & text changes based on the device width which makes easy to see the details of the brand pages without any hassle.

3.      Limitation of the Project

Every project/system has its own strength and weaknesses. Here Weaknesses can be described as the functionality that is not available in present version but will be provided in upcoming version. Some of the limitations of Online Branding System are discussed below
i.                    End User cannot write reviews on brand pages, after visiting the brand detail page on online branding system, user can give the rating from 0-5 but they cannot write reviews to the brand page. So it is one if the limitation of the project.
ii.                  Rating of the user are not recorded properly, as discussed earlier user can give ratings but not feedback. So the system calculates the ratings given by the user but it doesn’t record the detail of the user who have recorded and when.
iii.                Brand Owner cannot update gallery, Brand owner can login to their profile and make changes. And they can also add images of their product or services to their pages. But they are unable to update those images on gallery. So, it is one of the major limitations of the project.
iv.                Advanced Search function is not available, the system has the basic search function to search the brands of interest using the search box on the top of the page. But it is not capable of searching deep enough to find more accurately.

4.      Evaluation of the System

i.                    Interface Design, interface design is important part of any application because user needs better and attractive layouts or designs that are eye catching. Beside this, the application must be easy to navigate between the pages. Thus, to design easy attractive interface of the Online Branding System, HTML5, CSS3, JavaScript and JQuery are used. The user interface UI of the system is quite attractive and easy to navigate. Here, the user can visit the pages by clicking on the navigation menus as well as they can filter the brands by using the search form to input the keyword to search.
ii.                  Coding Architecture, in order to develop the Online Branding System C# programming language is used. In order to make web application ASP .Net is used which is a web development SDK/Framework. Asp.net is an open-source server-side Web application system intended for Web advancement to deliver dynamic Web pages which was created by Microsoft to permit software engineers to construct dynamic sites, web applications and web administrations.
iii.                Database Design, Online Branding System is a web based, database driven application. So, MSSQL is used as the Relational database for the application. Different tables are designed and normalized as needed. Each table has Proper constraints like Primary Key, Foreign Key, Not Null, etc.
iv.                Security, Security is major concern in any applications. In online branding system, every input fields are properly validated. So the brands with actual details can register their brand or organizations. Without entering details on certain input fields the whole process of registering new brand will be stopped and it will raise an error message also. If the email is not in valid format then it will display the error message stating that the email is invalid.

5.      Recommendations for future considerations

Thus, the project is better than expected. The application has all the major features as it needs. Besides the current features, the application could have more advanced features too. So, some of the recommendations for future considerations are as follows:
i.                    User Interface, The user interface (UI) of the current application is not bad. But it can be made better by adding some graphic contents, adding typography, animations, color composition, etc. The site can be updated using material design approach for better, attractive design.
ii.                  Security, The security on the current application is good as it validates the user inputs, checks if the user exists or not, etc. It can be much better by adding fixed number of times to attempt login, adding SSL certificates, etc. The validation on both sides like client sides as well as server side can be done to make it more secure. Page views and rating amount can be filtered, to manage organic traffic.
iii.                Database, to arrange and store data securely database can be made better by normalizing the database to 3NF. Besides this, Database name and table name also can be encrypted to make it more secure.
iv.                Brand Admin Panel, Online Branding System provides the admin panel for the brand admin from where the admin can update the details of the brands add images to the gallery. In future brand admin panel will be able to update and delete the uploaded images too. Beside this, they can also crop image before uploading van be made using AJAX.

Chapter 8

H.    Conclusion

After successful research and planning, Online Branding System was developed with the intention of helping and promoting the local brands among the targeted user. The system is developed using C# with Asp .Net, MSSQL HTML and CSS. In order to provide the brands of interest to the end-user, it is developed using the recommendation system. Thus, the user will always get the filtered brands that are trending.
As discussed earlier, the project has its own strength as well as weaknesses. The system itself is able to recommend brands to the users based on page views, page ratings by the users and the geolocation of the end user. Beside this, it also offers the feature to search the product using certain keywords input on search box and via navigation menu too. Online Branding System can be made better in future by implementing some other advanced technologies like JavaScript for animations, client side validations, and many more. Similarly front end (UI) designs can be made more attractive by using better color composition, fonts and vector images. Better Search features and filters can be added for more personalization and prioritization.
Hence, the Online Branding System can be used by the local as well as international brands/organization to promote their business and make presence in this modern world of technology. Similarly the end user also can get better recommendations of the brands on which they might be interested. So, the system is beneficial to the owners and end users too does the work perfectly as it was developed for.

Download the Source Code: Click Here



I.       References

Atlassian. (2017). What is version control | Atlassian Git Tutorial. [online] Available at: https://www.atlassian.com/git/tutorials/what-is-version-control [Accessed 12 Feb. 2017].
Isinkayea, F., Folajimib, Y. and Ojokohc, B. (2017). Recommendation systems: Principles, methods and evaluation. [online] http://www.sciencedirect.com/. Available at: http://www.sciencedirect.com/science/article/pii/S1110866515000341 [Accessed 11 Feb. 2017].
Jones, M. (2013). Introduction to approaches and algorithms. [online] Ibm.com. Available at: https://www.ibm.com/developerworks/library/os-recommender1/ [Accessed 11 Feb. 2017].
Lucidchart. (2017). Database schema: the definition and purpose of a database schema. [online] Available at: https://www.lucidchart.com/pages/database-diagram/database-schema [Accessed 12 Feb. 2017].
Rouse, M. (2017). What is entity relationship diagram? - Definition from WhatIs.com. [online] SearchCRM. Available at: http://searchcrm.techtarget.com/definition/entity-relationship-diagram [Accessed 12 Feb. 2017].
Rouse, M. (2017). What is SQL Server? - Definition from WhatIs.com. [online] SearchSQLServer. Available at: http://searchsqlserver.techtarget.com/definition/SQL-Server [Accessed 12 Feb. 2017].
Softwaretestinghelp.com. (2017). Types of Software testing and definitions of testing terms — Software Testing Help. [online] Available at: http://www.softwaretestinghelp.com/types-of-software-testing/ [Accessed 12 Feb. 2017].
The Official Microsoft ASP.NET Site. (2017). The Official Microsoft ASP.NET Site. [online] Available at: https://www.asp.net/ [Accessed 12 Feb. 2017].
Visual-paradigm.com. (2017). Sequence Diagram - UML Diagrams - Unified Modeling Language Tool. [online] Available at: https://www.visual-paradigm.com/VPGallery/diagrams/Sequence.html [Accessed 12 Feb. 2017].
www.tutorialspoint.com. (2017). UML - Class Diagram. [online] Available at: https://www.tutorialspoint.com/uml/uml_class_diagram.htm [Accessed 12 Feb. 2017].
Dalal, A. (2017). Website Application Maintenance Services | Web Maintenance. [online] Zestard.com. Available at: https://www.zestard.com/services/web-application-maintenance/ [Accessed 13 Mar. 2017].
Extension.iastate.edu. (2017). What is a Feasibility Study? | Ag Decision Maker. [online] Available at: https://www.extension.iastate.edu/agdm/wholefarm/html/c5-65.html [Accessed 13 Mar. 2017].
Muthukumar, R. (2017). Recommendation system - benefits and drawbacks. [online] Auburnbigdata.blogspot.com. Available at: http://auburnbigdata.blogspot.com/2013/03/recommendation-system-benefits-and.html [Accessed 8 Mar. 2017].
Rouse, M. (2017). What is requirements analysis (requirements engineering) ? - Definition from WhatIs.com. [online] SearchSoftwareQuality. Available at: http://searchsoftwarequality.techtarget.com/definition/requirements-analysis [Accessed 13 Mar. 2017].
Bowen, R. (2017). Explaining the Different Types of Feasibility Studies. [online] Brighthub Project Management. Available at: http://www.brighthubpm.com/project-planning/56372-types-of-feasibility-studies/ [Accessed 13 Mar. 2017].
Investopedia. (2017). Feasibility Study. [online] Available at: http://www.investopedia.com/terms/f/feasibility-study.asp [Accessed 13 Mar. 2017].
Taskmanagementguide.com. (2017). What is Schedule Feasibility. [online] Available at: http://www.taskmanagementguide.com/glossary/what-is-schedule-feasibility.php [Accessed 13 Mar. 2017].
Uml-diagrams.org. (2017). Use case diagrams are UML diagrams describing units of useful functionality (use cases) performed by a system in collaboration with external users (actors).. [online] Available at: http://www.uml-diagrams.org/use-case-diagrams.html [Accessed 13 Mar. 2017].
Visual-paradigm.com. (2017). Sequence Diagram - UML Diagrams - Unified Modeling Language Tool. [online] Available at: https://www.visual-paradigm.com/VPGallery/diagrams/Sequence.html [Accessed 13 Mar. 2017].




Appendix A
Using Source Tree for Version Control
Using Source Tree for Version Control
Use of Bit Bucket for Version Control Repository on Server
Use of Bit Bucket for Version Control Repository on Server

Student-Supervisor Meeting Sheet

First Meeting
First Meeting
Second Meeting
Second Meeting
Third Meeting
Third Meeting
Fourth Meeting
Fourth Meeting
Fifth Meeting
Fifth Meeting
Sixth Meeting
Sixth Meeting
Seventh Meeting
Seventh Meeting

Post a Comment

0 Comments