Home Blog Page 27

Title page, acknowledge, table of content of Internship report on Online Earning and website programming Part I

Study On “Online Earnings and Website Programming” At DP Sign

By:

Rupak Nepali

P.U. Reg. No:****

Roll. No: ***

An Internship Report

 

Submitted To:

Nobel College

Faculty of management

Pokhara University

 

In partial fulfillment of the requirements for the degree of

Bachelor of Computer Information System (BCIS)

Kathmandu

June 2010

 

ACKNOWLEDGEMENT

This report has been prepared for the final year project done on the topic E-shopping in order to implement the theory into the real field with the purpose of fulfilling the requirements of the course of BCIS (Bachelor of Computer Information System).

The aim of this project is to be familiar to the practical aspect and uses of theoretical knowledge and clarifying the career goals, so we have successfully completed the project and compiled this report as the summary and the conclusion that we have drawn from the project.

 

We would like to express our sincere gratitude to our Project-Coordinator Mr. Sanjay Lama who had given his valuable time and given us chance to learn something despite having his busy schedule, Principal Mr. Surendra Shrestha and Coordinator Mr. Dipesh Shrestha for their great guidelines for this project.

Lastly, we would like to thank Mr. Nimesh Shrestha for providing us his easiest MVC framework to make our project easily, built it simply and for his encouragement, patience and expert advice for supplying so much invaluable information and finally special thanks go to our friends and family who have supported us throughout our project.

 

 

Table of Contents

SN Contents Page No
a. Title Page i
b. Declaration ii
c. Recommendation iii
d Acknowledgement iv
e. Table of Contents v
f. List of Figures vii
g. Executive Summary ix
h. Chapters  
1.    Introduction

1.1.   Background of the Study

1.2.   Objectives of the Study

1.3.   Limitations of the Study

1.4.   Selection Methods of Data Collection

1.    Report Body

2.1.    Introduction of the D.P Sign

2.2.    Corporate Goal of the D.P Sign

2.3.    Mission Statement of the D.P Sign

2.4.    D.P Sign’s Spirit is infused into every component

2.5.    Services

2.5.1.      Web Based Application Design and Development

2.5.2.      Flex Printing and other printing services

2.5.3.       Custom Software Solutions

2.5.4.       Embedded Software Solutions

2.5.5.       Online Earning Training

2.6.    Engagement Models

2.6.1.       Fixed Price Turnkey Model

2.6.2.       Per Resource Model

2.6.3.       Offshore Model

2.7.    Delivery Model

2.8.    Process and Standards

2.9.    Domain Profile

2.10.                    Competitive Advantage of DP Sign

2.11.                    Physical Infrastructure

2.12.                    Organizational Hierarchy Chart

2.13.                    Number of employees

2.14.                    Introduction of Departments we have worked

2.15.                    Major Clients

2.16.                    Business Volume

2.17.                    Products Offered by DP Sign

2.18.                    Time Frame of Internship

1.    Analysis

3.1.    Strategic Business Units

3.1.1         Web Development Department Analysis

3.1.2        Online Earning Department Analysis

3.1.3        PEST Analysis

3.1.4        SWOT Analysis

4            Recommendations

5            Summary and Conclusion

6            Program Workplace Relationship

1

1

1

1

2

3

3

4

4

4

5

5

5

5

5

5

6

6

6

6

7

7

11

13

14

15

16

16

20

20

21

22

23

23

23

24

25

26

28

29

30

i. Bibliography
j. Appendices  

 

EXECUTIVE SUMMARY

 

The main objective of this report is to recapitulate my internship job and to be familiar with practical aspect of the theoretical knowledge gained in a classroom.

This report is the part of my internship project, required byPokharaUniversity in partial fulfillment for the requirement of BCIS program.

we am Rameshwor shreatha of Nobel College had carried out this study for six weeks. This is mainly focused on the IT/MIS and Networking technology used in bank of Rastriya Banijya Bank Limited. This project study was conducted from 2009/10/17 to 2009/10/31.

During the internship period we have developed the networking environment that is done day-to-day operations on training .RBB uses PUMORI software for their all the banking transactions. we learned about using different Pumori screens for loan, deposit, opening an account, closing an account. Because of problem of privacy we couldn’t get to know all kinds of networking technologies and working of server but we knew few basic things about router, hub, lease lines, network topology of the bank.

The report mainly deals with the software used by RBB i.e. Pumori in different branches and how the network is distributed inside and outside of the valley and banking architecture. The job profile that we have mentioned here is totally based on practical workings that we have conducted during my internship in Rastriya Banijya Bank.

Overall we found my internship program very satisfactory and helpful. we gained a practical knowledge on how analysis and design a computer network system for the organization.

 

List of Figures

 

SN Name of Figure Page No.
Fig:2.1 Organization Structure 13
Fig:2.2 Business volume of DP Sign 19
Fig:2.3 Time frame representation in Gantt chart 22

 

List of Tables

 

SN Name of Table Page No.
Tab:2.1 System unit and its Software 11
Tab:2.2 List of technology with platform  
Tab:2.3 Number of employees  
Tab:2.4 Collection of Pay Per Click sites  
Tab:2.5 List of major clients  
Tab:2.6 Printing product of DP Sign  
Tab:2.7 Web services providing by DP Sign  

ABBREVIATION USED

 

DP Sign Digital Printed Sign
CRM Cus­­­tomer Relation Management
IT Information Technology
QA Quality Assurance
CMS Content Management System
SWOT Strength, Weakness, Opportunity and Threats
PEST Political, Economical, Social and Technological
RFQ Request For Quotation
RFP Request For Proposal
GIS Geographic Information System
PMBOK Project Management Body of Knowledge
PMI Project Management Institute
CMMI Capability Maturity Model Integration
ISO International Organization for Standardization
ODC Offshore Development Center
IP Internet Protocol
CVS Current Version Software
TFS Team Foundation Server

 

Complete and functional e-commerce web site E-shopping project Part VIII

This chapter contains product reviews, transactions in the application, ACID test, literature overview, conclusion and starts the coding parts of the complete and functional eCommerce website e-shopping project.

Product Reviews

At this point, we have a complete and functional e-commerce web site. However, this doesn’t stop us from adding even more features to make it more useful and pleasant for visitors. By adding a product reviews system to your web site, you can increase the chances that visitors will return to your site, either to write a review for a product they bought or to see what other people think about that product.

A review system can also help you learn your customers’ tastes, which enable you to improve the product recommendations and even make changes in the web site or the structure of the product catalog based on customer feedback. To make things easy for both the customer and us, we’ll add the list of product reviews and the form to add a new product review to the product details pages. The form to add a new product will show up for only registered users because we decided not to allow anonymous reviews (however, you can easily change this if you like). We’ll create the code for this new feature in the usual way, starting from the database and finishing with the user interface.

8.8. Transactions in the Application

A transaction is a group of database commands that are treated as a single unit.

The transaction must pass what is known as the ACID test:

Atomic: All operations in the transaction are executed properly or none. In other words, they make up a single unit of work. For example, if a customer moves and a transaction is used to reflect that change in the database, all parts of the address (street, city, state, etc) must be changed as an atomic action, rather than changing street, then city, then state, and so on.

Consistent : The execution of a single transaction preserves the consistency of the database. All the relationships between data in a database are maintained correctly. For example, if customer information uses a tax rate from a state tax table, the state entered for the customer must exist in the state tax table.

Isolation: Each transaction is unaware of the other transactions occurring concurrently. Changes made by other clients cannot affect the current changes. For example, if two data entry operators try to make a change to the same customer at the same time, one of two things occurs: either one operator’s changes are accepted and the other is notified that the changes were not made, or both operators are notified that their changes were not made. In either case, the customer data is not left in an indeterminate state.

Durability: Changes the transaction has performed persist in the database. Once a change is made, it is permanent. If a system error or power failure occurs before a set of commands is complete, those commands are undone and the data is restored to its original state once the system begins running again.

Transaction processing is particularly important for Web applications that use data access, since Web applications are distributed among many different clients. In a Web application, databases are a shared resource, and having many different clients distributed over a wide area can present these key problems:

Contention for resources. Several clients might try to change the same record at the same time. This problem gets worse the more clients you have.

Unexpected failures. The Internet is not the most reliable network, even if your Web application and Web server are 100 percent reliable. Clients can be unexpectedly disconnected by their service providers, by their modems, or by power failures.

Web application life cycle. Web applications do not follow the same life cycle as Windows applications Web forms live for only an instant, and a client can leave your application at any point by simply typing a new address in their browser.

Transaction processing follows these steps:

1. Begin a transaction.

2. Process database commands.

3. Check for errors.

4. If errors occurred, restore the database to its state at the beginning of the transaction. If no errors occurred, commit the transaction to the database.

Suppose two users try to add the same book to the shopping cart and try to place an order at the exact same time. An update should be done to the Books table after the order is placed, but if only the latest transaction is noted down, the book quantity will differ in the real world. This situation has to be handled as in a Transaction. As detailed earlier, a transaction is any operation or set of operations that succeeds or fails as a logical unit. That is, either both the updates are not done, or both the updates are done consecutively.

Transactions are normally managed by declaring boundaries around a set of operations. Operations that execute in the context of the transaction boundary then succeed or fail as a unit. For ASP.NET, the transaction boundary is the execution of a single request to a page, which might contain nested components that participate in the same transaction. While the page is executing, if an operation on the page itself or a nested component in the same transaction fails, it can call ContextUtil.SetAbort. This is then picked up by the current transaction context, the entire transaction fails, and any operations that were already completed are undone. If nothing fails, the transaction is committed.

2.1  Literature Review

Electronic Commerce (e-commerce) applications support the interaction between different parties participating in a commerce transaction via the network, as well as the management of the data involved in the process.

The increasing importance of e-commerce is apparent in the study conducted by researchers at the GVU (Graphics, Visualization, and Usability) Center at the Georgia Institute of Technology. In their summary of the findings from the eighth survey, the researchers report that e-commerce is taking off both in terms of the number of users shopping as well as the total amount people are spending via Internet based transactions. Over three quarters of the 10,000 respondents report having purchased items online. The most cited reason for using the web for personal shopping was convenience (65%), followed by availability of vendor information (60%), no pressure from salesperson (55%) and saving time (53%).

Although the issue of security remains the primary reasons why more people do not purchase items online, the GVA survey also indicates that faith in the security of ecommerce is increasing. As more people gain confidence in current encryption technologies, more and more users can be expected to frequently purchase items online

Another important factor in the design of an e-commerce site is feedback. The interactive cycle between a user and a web site is not complete until the web site responds to a command entered by the user. According to Norman, “feedback–sending back to the user information about what action has actually been done, what result has been accomplished–is a well known concept in the science of control and information theory. Imagine trying to talk to someone when you cannot even hear your own voice, or trying to draw a picture with a pencil that leaves no mark: there would be no feedback”.

Web site feedback often consists of a change in the visual or verbal information presented to the user. Simple examples include highlighting a selection made by the user or filling a field on a form based on a user’s selection from a pull-down list. Another example is using the sound of a cash register to confirm that a product has been added to an electronic shopping cart.

Completed orders should be acknowledged quickly. This may be done with an acknowledgment or fulfillment page. The amount of time it takes to generate and download this page, however, is a source of irritation for many e-commerce users. Users are quick to attribute meaning to events. A blank page, or what a user perceives to be “a long time” to receive an acknowledgment, may be interpreted as “there must be something wrong with the order.” If generating an acknowledgment may take longer than what may be reasonably expected by the user, then the design should include intermediate feedback to the user indicating the progress being made toward acknowledgment or fulfillment.

Finally, feedback should not distract the user. Actions and reactions made by the web site should be meaningful. Feedback should not draw the user’s attention away from the important tasks of gathering information, selecting products, and placing orders.

10. Conclusion

The Internet has become a major resource in modern business, thus electronic shopping has gained significance not only from the entrepreneur’s but also from the customer’s point of view. For the entrepreneur, electronic shopping generates new business opportunities and for the customer, it makes comparative shopping possible. As per the survey, most consumers of online stores are impulsive and usually make a decision to stay on a site within the first few seconds. “Website design is like a shop interior. If the shop looks poor or like hundreds of other shops the customer is most likely to skip to the other side”[16]. Hence we have designed the project to provide the user with easy navigation, retrieval of data and necessary feedback as much as possible.

In this project, the user is provided with an e-commerce web site that can be used to buy books online. To implement this as a web application we used ASP.NET as Technology. ASP.NET has several advantages such as enhanced performance, scalability, built-in security and simplicity. To build any web application using ASP.NET we need a programming language such as C#, VB.NET, J# and so on. C# was the language used to build this application. For the client browser to connect to the ASP.NET engine we used Microsoft’s Internet Information Services (IIS) as the Web Server.

ASP.NET uses ADO.NET to interact with the database as it provides in-memory caching that eliminates the need to contact the database server frequently and it can easily deploy and maintain an ASP.NET application. MySQL was used as the back-end database since it is one of the most popular open-source databases, and it provides fast data access, easy installation, and simplicity.

A good shopping cart design must be accompanied by a user-friendly shopping cart application logic. It should be convenient for the customer to view the contents of their cart and to be able to remove or add items to their cart. The shopping cart application described in this project provides a number of features that are designed to make the customer more comfortable.

This project helps in understanding the creation of an interactive web page and the technologies used to implement it. The design of the project which includes the Data Model and Process Model illustrates how the database is built with different tables, how the data is accessed and processed from the tables. The building of the project has given me a precise knowledge about how ASP.NET is used to develop a website, how it connects to the database to access the data and how the data and web pages are modified to provide the user with a shopping cart application.

An e-commerce organization can create data-based Web pages by using server-side and client-side processing technologies or a hybrid of the two. With server-side processing, the Web server receives the dynamic Web page request, performs all processing necessary to create the page, and then sends it to the client for display in the client’s browser. Client-side processing is done on the client workstation by having the client browser execute a program that interacts directly with the database.

6. Connection with the database

Opening a connection to the MySQL database from PHP is easy. Just use the mysql_connect() function like this

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');$dbname = 'db_ecommerce';
mysql_select_db($dbname);
?>

$dbhost is the name of the MySQL server. When your web server is on the same machine with the MySQL server you can use localhost or 127.0.0.1 as the value of $dbhost. The $dbuser and $dbpass are valid MySQL user name and password. For adding a user to MySQL visit this page: MySQL Tutorial

Don’t forget to select a database using mysql_select_db() after connecting to MySQL. If no database selected your query to select or update a table will not work.

8. The Shopping Cart Application

The objective of this application is to provide the user with an online website where they can buy things from the comfort of their home. A shopping cart is used for the purpose. The user can select the desired items, place them in the shopping cart and purchase them using a Credit Card. The user’s order will be shipped according to the type of shipping selected at the time of placing the order.

SEO, and customer process to buy the product E-shopping Part VII

In this final year’s eCommerce project eShopping we are showing how we set up SEO and customer processes to buy the product on the eCommerce website.

Search Engine Optimization

Search engine optimization, or simply SEO, refers to the practices employed to increase the number of visitors a web site receives from organic (unpaid) search engine result pages. Today, the search engine is the most important tool people use to find information and products on the Internet. Needless to say, having your e-commerce web site rank well for the relevant keywords will help drive visitors to your site and increase the chances that visitors will buy from you and not the competition!

RupJayGri shop is so small and young and some of the points that we consider to make the site more searchable are by following:

  • Implement keyword-rich URLs
  • Redirect requests to index.php
  • Dynamically generate the page titles to reflect the contents of their pages
  • Errors and problems are properly handled and redirect to pages on the site.
  • We correctly used page headings and other markups, so that search engines will be able to identify the page’s important to copy.
  • We don’t have duplicate content. The catalog doesn’t contain identical pages, or page fragments, which can incur search engine penalties.
  • The product, department, and category pages are easily reachable

Customer Sign Up:

In our shop customers are able to buy or place the product in the cart only when they are registered.

signup process at the eshopping project
the signup process at the shopping project

The customer has filled the signup form and clicks the signup button and the password is sent to the email given.

Customer Login:

The customer can log in with the username and the password provided in the mail. For the first time login the customer will see the form below:

Form filled by cusustomer

With the filling of the form, the customer will be able to buy a product and add it to the carts. For the other time, the customer will be able to directly login to the dashboard.

Shopping Cart

When customer clicks Add to Cart for any product, it is added to the shopping cart.

Adding a product into the shopping cart does not decrease the number of products in the database. It is decreased only after an order is placed for the product. In our RupJayGri shop the shopping cart whether the product is added to the database or in the cart or not and on clicking the Go To Shopping Cart, the detail of the cart is shown.

empty shopping cart at eshopping final year project
empty shopping cart at shopping final year project

The detail of the cart looks like the figure below:

details of shopping cart at eshopping project
details of the shopping cart at the shopping project

Placed Order and Proceed to CheckOut

When Proceed To Checkout button is clicked which is located on the bottom of the shopping cart, the web page will direct to the form where the customer has to input the shipping information and the payment information

final checkout process at eshopping project
the final checkout process at shopping project

Confirming the information:

After filling the form in shipping and payment information the final confirmation page is shown which is from the PayPal API and consists of the credit card information to be filled up. After clicking the submit button the PayPal process the credit card information and send whether the payment is successful or not.

How to shop in the RupJayGri Shop?

For the easiness of the customer there consists of video and ways to do shopping in RupJayGri Shop on the page why_us and the link is at the menu’s Shopping Demo.

3 simple steps
Step 1: Search
There are 2 ways by which you can locate products on our site.
1. Keyword Search

There is a Search Box in the header (right-hand top corner)

* Enter the product/item that you want to locate for in the Search Box (Eg: If you want to buy flowers, you can type Flowers in the Search Box). You can also search for products within a category.
* Then click on the Go Button. The next page will display the Search Results with suitable products for you to choose from.

2. Category/Sub-Category Search

Products at RupJayGri.com are divided into Categories and Sub-Categories with further sub-division, displayed in the category list at the top. You can browse through each of these categories until you find your desired product type.
Step 2: Register

Registration on RupJayGri Shop

Visitors must be registered users of RupJayGri Shop to be able to BUY online. RupJayGri Shop Registration process is fast, easy and totally FREE!
Click on the Sign-in link on the top right corner in the header part of every Page.

Please follow the steps to register with rupjaygri.com

  • Enter your Email address which will also function as your User Name for rupjaygri.com.
  • Finally, click on the Sign-Up button.
  • Now login with the username and password in the email that we have sent to the customer.

Step 3: Buying on RupJayGri

  • Login
  • View the product or list the product
  • Click the details of the product and click the Add To Cart button if u like to purchase then go to the details of the shopping cart and click Proceed to checkout and follow the steps.

The others post about the internship is in the internship category.

Web Page Flow in E-shopping Cart Part VI

In this final year’s eCommerce project eShopping we are showing web page flow in the shopping cart website.
Chapter 2 part 3 continued…..

Web Page Flow in RupJayGri Shop

The web page is divided into five parts as in the figure below:

eShopping main design part
eShopping main design part

1. Header part:

In our RupjayGri shop, the header part consists of the search box which is useful for searching the product directly likewise, the shortcut to login and sign up. As well it also consists of the name of the Shop and the header also contains the advertised products in the scrolling images.

header part of the eShopping cart
header part of the shopping cart

The header part also consists of the menu. The menu contains the link to the pages so that the visitors can easily render the pages.

2. Left Bar:

The left bar contains the categories and other boxes which is changeable as per the pages. The categories box shows the list of category and on the click of the list, the products of the same category are shown.

leftbar part of our e-commerce site
the left bar part of our e-commerce site

3. Body Part:

The body part consists of the content of the website

4. Right Bar:

The right bar is also changeable as per the page requirement.

5. Footer Part:

The footer part contains the footer of the pages which can contain the reserved information and copyright as well as links to the pages.

Showing our Visitors What We’ve Got

One of the essential features required in any e-store is to allow the visitor to easily browse through the products. Whether our visitors are looking for something specific or just browsing, it’s important to make sure their experiences with our site are pleasant ones. After all, we want our visitors to find what they are looking for as easily and painlessly as possible. This is why we’ll want to add search functionality to the site and also find a clever way of structuring products into categories so they can be quickly and intuitively accessed.

Depending on the size of the store, it might be enough to group products under a number of categories, but if there are a lot of products, you’ll need to find even more ways to categorize and structure the product catalog.

In our RupJayGri Shop products are categorized into different categories and the visitors can easily get the product as per the category. Likewise, there are many sections which show the different product like the tab section which shows the best seller products and selected items by the RupJayGri Shop.

tab for the homepage at eshopping
tab for the homepage at shopping

Products are also shown in a different category as per the click in the menu

category show at eshopping cart
category show at the shopping cart

Products are categorized as per the manufacturers also so the visitors can also view the products as per the manufacturer.

Detail view of the product:

After getting the list of the product we can view the details of the product by clicking in the pictures of the product or just clicking the details button.

detail view of the eshopping
detail view of the shopping

The detail view of the product is seen below:

detail view of product at the eshopping final year project
detail view of product at the shopping final year project

Searching the Products

Products can be searched based on the product identification number, name of the product. For searching the product just type the name of the product in the box

search of product at the eshopping project
a search of product at the shopping project

Figure: For Searching the Product type the name of the product

After pressing the ENTER key we will get the list of searched products.

Displaying the Search Results

listing of search at the eshopping final year project
listing of search at the shopping final year project

Figure: List of Searched Products

The others post about the internship is in the internship category.

Final year E-commerce project eShopping Process model, functional diagram Part V

In this final year’s eCommerce project eShopping process model, we are showing you the Process Model, Functional Decomposition Diagram, Data flow Diagram, User Interface diagram, and three-tier architecture. Chapter Two Part-2 continued…

3.2. Process Model

A Process Model tells us about how the data is processed and how the data flows from one table to another to gather the required information. This model consists of the Functional Decomposition Diagram and Data Flow Diagram.

3.2.1. Functional Decomposition Diagram

A decomposition diagram shows a top-down functional decomposition of a system and exposes the system’s structure. The objective of the Functional Decomposition is to break down a system step by step, beginning with the main function of a system and continuing with the interim levels down to the level of elementary functions. The diagram is the starting point for more detailed process diagrams, such as data flow diagrams (DFD). Figure 2 shows the Functional Decomposition Diagram for this project.

functional decomposition diagram of eshopping project
functional decomposition diagram of a shopping project

Figure 2 Functional Decomposition Diagram

3.2.2 Data Flow Diagram (DFD)

Data Flow Diagrams show the flow of data from external entities into the system, and from one process to another within the system. There are four symbols for drawing a

DFD:

  1. Rectangles representing external entities, which are sources or destinations of data.
  2. Ellipses representing processes, which take data as input, validate and process it and output it.
  3. Arrows representing the data flow, which can either, be electronic data or physical items.
  4. Open-ended rectangles or a Disk symbol representing data stores, including electronic stores such as databases or XML files and physical stores such as filing cabinets or stacks of paper.

The Detailed DFD provides a more detailed and comprehensive view of the interaction among the sub-processes within the system.

Customer-Browse Context DFD:

Customer Browse Detail DFD
Customer—Browse-Detail DFD

Figure 3: Customer-Browse Context DFD

Customer – ShoppingCart Context DFD:

Shopping cart details DFD
Shopping cart details DFD

Figure 4: Customer – ShoppingCart Context DFD

Customer – ShoppingCart Detailed DFD:

Customer Browse Detail DFD
Customer—Browse-Detail DFD

Figure 5: Customer Shopping Cart Detailed DFD

Customer-Authentication Context DFD:

Authentication Customer DFD
Authentication Customer DFD

Figure 6: Customer-Authentication Context DFD

3.3 User Interface Design

Before implementing the actual design of the project, a few user interface designs were constructed to visualize the user interaction with the system as they browse for books, create a shopping cart and purchase books. The user interface design will closely follow our Functional Decomposition Diagram. Figures 7 – 20 show the initial designs of the web pages.

Front Page of e-shopping
Front Page of e-shopping

Figure 7: Front Page of RupJayGri Shop with menu


The Magic of the Three-Tier Architecture

Generally, the architecture refers to the way we split the code that implements a feature of the application into separate components based on what they do and grouping each kind of component into a single logical tier.

In particular, the three-tier architecture refers to an architecture that is based on these tiers:

-The presentation tier

-The business tier

-The data tier

Figure: Example of information exchange among application tiers

The presentation tier contains the user interface elements of the site and includes all the logic that manages the interaction between the visitor and the client’s business. This tier makes the whole site feel alive, and the way you design it has crucial importance for the site’s success. Because your application is a web site, its presentation tier is composed of dynamic web pages.

The business tier (also called the middle tier) receives requests from the presentation tier and returns a result to the presentation tier depending on the business logic it contains. Almost any event that happens in the presentation tier usually results in the business tier being called (utilized), except events that can be handled locally by the presentation tier, such as simple input data validation, and so on. For example, if the visitor is doing a product search, the presentation tier calls the business tier and says, Please send me back the products that match this search criterion. Most of the time, the business tier needs to call the data tier for information to be able to respond to the presentation tier’s request.

The data tier (sometimes referred to as the database tier) is responsible for managing the application’s data and sending it to the business tier when requested. For the RupJayGri e-commerce site, you’ll need to store data about products (including their categories and their departments), users, shopping carts, and so on. Almost every client request finally results in the data tier being interrogated for information (except when previously retrieved data has been cached at the business tier or presentation tier levels), so it’s important to have a fast database system.

Choosing Technologies and Tools

No matter which architecture is chosen, a major question that arises in every development project is which technologies, programming languages, and tools are going to be used, bearing in mind that external requirements can seriously limit your options. We’re creating a web site using PHP 5, MySQL 5, and related technologies.

We really like these technologies, but it doesn’t necessarily mean they’re the best choice for any kind of project, in any circumstances. Additionally, there are many situations in which you must use specific technologies because of client requirements. The Requirements Analysis stage that is present in the most software development process will determine which technologies you must use for creating the application.

Although the book assumes some previous experience with PHP and MySQL, we’ll take a quick look at them and see how they fit into our project and into the three-tier architecture.

Using PHP to Generate Dynamic Web Content

PHP is an open-source technology for building dynamic, interactive web content. Its short description (on the official PHP web site, http://www.php.net) is PHP is a widely-used general-purpose scripting language that is especially suited for web development and can be embedded into HTML.

PHP stands for PHP: Hypertext Preprocessor (yes, it’s a recursive acronym) and is available for free download at its official web site. The story of PHP, having its roots somewhere in 1994, is a successful one. Among the factors that led to its success are the following:

  • PHP is free; especially when combined with Linux server software, PHP can prove to be a very cost-efficient technology to build dynamic web content.
  • PHP has a shorter learning curve than other scripting languages.
  • The PHP community is agile. Many useful helper libraries or new versions of the existing libraries are being developed (such as those you can find in the PEAR repository or at http://www.phpclasses.org), and new features are added frequently.
  • PHP works very well on a variety of web servers and operating systems (Unix-like platforms, Windows, and Mac OS).

Apache Web Server:

Apache offers various advantages to users, developers and Web administrators:

  • Features. Apache has various useful features, including the implementation of the latest protocols.
  • Customizable. Apache’s modular architecture allows you to build a server that is “made to measure.”
  • Administration. Apache configuration files are in ASCII, have a simple format, and can be edited using any text editor. They are transferable, so one can effectively clone a server. One can control the server from the command line, which makes remote administration very convenient.
  • Extensible. Apache server and API source code are open to the public. If there is any feature that you want but does not exist in Apache, you can write your own server module to implement it.
  • Efficient. A lot of effort has been put into optimizing the Apache’s C code for performance. As a result, it runs faster and consumes fewer systems resources than many other servers.
  • Portability. Apache runs on a wide variety of operating systems, including all variants of UNIX, Windows 9x/NT, MacOS (on PowerPC), and various others.
  • Stability/Reliability. Apache’s source code is open to the public. When any bugs are found, they are often quickly communicated, and rapidly fixed. Updates are made and announced thereafter. This has resulted in Apache becoming more and more stable, and hence reliable, server over time.
  • Support. Apache is supported by the Apache Group, a large number of dedicated users (many of whom can often be found in the Usenet newsgroup comp.infosystems.www.servers.unix or
    comp.infosystems.www.servers.ms-windows), and by companies who market commercial versions of Apache.

MySQL Database:

In this project, MySQL is used as the back-end database. MySQL is an opensource database management system. The features of MySQL are given below:

-MySQL is a relational database management system. A relational database stores information in different tables, rather than in one giant table. These tables can be referenced to each other, to access and maintain data easily.

– MySQL is an open-source database system. The database software can be used and modify by anyone according to their needs.

-It is fast, reliable and easy to use. To improve performance, MySQL is a multi-threaded database engine. A multi-threaded application performs many tasks at the same time as if multiple instances of that application were running simultaneously.

Being multi-threaded MySQL has many advantages. A separate thread handles each incoming connection with an extra thread that is always running to manage the connections. Multiple clients can perform read operations simultaneously, but while writing, only hold up another client that needs access to the data being updated. Even though the threads share the same process space, they execute individually and because of this separation, multiprocessor machines can spread the thread across many CPUs as long as the host operating system supports multiple CPUs. Multi-threading is the key feature to support MySQL performance design goals. It is the core feature around which MySQL is built.

MySQL database is connected to ASP.NET using an ODBC driver. Open Database Connectivity (ODBC) is a widely accepted application programming interface (API) for database access. The ODBC driver is a library that implements the functions supported by ODBC API. It processes ODBC function calls, submits SQL requests to MySQL server, and returns results back to the application. If necessary, the driver modifies an application’s request so that the request conforms to syntax supported by MySQL.

Macromedia DreamWeaver:

For writing codes and making design, we use Macromedia DreamWeaver

Screenhunter:

For making the screenshot

TeamViewer:

For communicating between our team and showing our development.

Choosing Naming and Coding Standards

Although coding and naming standards might not seem that important at first, they definitely shouldn’t be overlooked. Not following a set of rules for your code will almost always result in code that’s hard to read, understand, and maintain. On the other hand, when you follow a consistent way of coding, you can almost say your code is already half documented, which is an important contribution toward the project’s maintainability, especially when multiple people are working on the same project at the same time.

Naming conventions refer to many elements within a project, simply because almost all of a project’s elements have names: the project itself, files, classes, variables, methods, and method parameters, database tables, database columns, and so on. Without some discipline when naming all those elements, after a week of coding, you won’t understand a single line of what you’ve written.

When developing RupJayGri Shop, we followed a set of naming conventions that are popular among PHP developers. Some of the most important rules are summarized here and in the piece of code that follows:

  • Class names and method names should be written using Pascal casing (uppercase letters for the first letter in every word), such as WarZone.
  • Public class attribute names follow the same rules as class names but should be prepended with the character. So, valid public attribute names look like this: $mSomeSoldier.
  • Private class attribute names follow the same rules as public class attribute names, except they’re also prepended with an underscore, such as in $_mSomeOtherSoldier.
  • Method argument names should use camel casing (uppercase letters for the first letter in every word except the first one), such as $someEnemy, $someOtherEnemy.
  • Variable names should be written in lowercase, with an underscore as the word separator, such as $master_of_war.
  • Database objects use the same conventions as variable names (the department_id column).
  • Try to indent your code using a fixed number of spaces (say, four) for each level. (The code in this book uses two spaces because of physical space limitations)

Final year project E-shopping, project design, data model and database design Part IV

CHAPTER TWO

Report Body

2.2 Project Design

In order to design a website, the relational database must be designed first. Conceptual design can be divided into two parts: The data model and the process model. The data model focuses on what data should be stored in the database while the process model deals with how the data is processed. To put this in the context of the relational database, the data model is used to design the relational tables. The process model is used to design the queries that will access and perform operations on those tables.

2.2.1 Data Model

A data model is a conceptual representation of the data structures that are required by a database. The first step in designing a database is to develop an Entity-Relation Diagram (ERD). The ERD serves as a blueprint from which a relational database may be deduced. Figure 1 shows the ERD for the project and later we will show the transformation from ERD to the Relational model.

E-shopping final year project Data modeling
E-shopping final year project Data modeling

Fig 1: Data Modeling of the whole project

Entity A matches exactly one record in entity B and every record in B matches exactly one record in A. One to many means that every record in A matches zero or more records in B and every record in B matches exactly one record in A. If there is a one to many relationships between two entities, then these entities are represented as Associative Entities. In the Relational Database model, each of the entities will be transformed into a table. The tables are shown below along with the attributes.

2.2.1.1 Database Design

In this section, the basic structure of the tables composing the database for the project are shown along with information about primary and foreign keys.

Background of E-shopping final year College Project- E-commerce Part III

CHAPTER ONE

Introduction

1.1 Background of the Project

Nepal is a developing country and Information Communication and technology are playing their important roles in the development of the country. By eCommerce, we mean buying and selling of products or services over electronic systems such as the Internet and other computer networks. In truth in Nepal, we have very fewer ways to pay our bills online or trade online. But that does not mean we cannot. There are new players on Nepali ground like Paybill and Esewa who want to revolutionize the way the Nepali eCommerce field is taken. With the launch of these services, many new startups can easily sell their products and services online. These services have lots of potentials and we hope it will succeed and bring a change in the Nepali eCommerce field. There is a big and old player like muncha.com in Nepal which is already popular for its money transfer and online shops.

E-commerce is fast gaining ground as an accepted and used business paradigm. More and more business houses are implementing web sites providing functionality for performing commercial transactions over the web. It is reasonable to say that the process of shopping on the web is becoming commonplace.

The objective of this project is to develop a general-purpose e-commerce store where any product (such as books, CDs, computers, mobile phones, electronic items, and home appliances) can be bought from the comfort of home through the Internet. However, for implementation purposes, this paper will deal with an online book store.

An online store is a virtual store on the Internet where customers can browse the catalog and select products of interest. The selected items may be collected in a shopping cart. At checkout time, the items in the shopping cart will be presented as an order. At that time, more information will be needed to complete the transaction.

Usually, the customer will be asked to fill or select a billing address, a shipping address, a shipping option, and payment information such as a credit card number. An email notification is sent to the customer as soon as the order is placed.

1.2 Objective of Project

The objectives of this project are:

  1. Create a set of requirements for a Website CMS for small businesses based on research
  2. Build and test a prototype of a Website CMS for small businesses based on the requirements found
  3. Knowing when an item was saved or not saved in the shopping cart.
  4. Returning to different parts of the site after adding an item to the shopping cart.
  5. Easy scanning and selecting items in a list.
  6. Effective categorical organization of products.
  7. Simple navigation from home page to information and order links for specific products.
  8. Obvious shopping links or buttons.
  9. Minimal and effective security notifications or messages.
    1. The consistent layout of product information.

1.3 Limitations of the Project:

There are some limitations for the current system to which solutions can be provided as a future development:

  1. The system is not configured for multi-users at this time. The concept of the transaction can be used to achieve this.
  2. The Website is not accessible to everyone. It can be deployed on a web server so that everybody who is connected to the Internet can use it.
  3. Credit Card validation is not done. Third-party proprietary software can be used for validation checks.

As for other future developments, the following can be done:

  1. The Administrator of the web site can be given more functionality, like looking at a specific customer’s profile, the books that have to be reordered, etc.
  2. Multiple Shopping carts can be allowed.

1.4 Selection Method of Data Collection

There are two major approaches to gathering information in our final year project about the situation, person, problems or phenomenon and software about e-shopping.

  • Internal information
  • External Information

This information was collected with the help of both primary and secondary resources.

a) Primary Data: They are collected by us on the concerned topic, which is original. While studying we have come across with the sources such as

b) Secondary Data: They are collected by us on the basis of the study of internet websites, interviews with friends, etc.

E-shopping final year college project report acknowledgement, executive summary, TOC Part II

ACKNOWLEDGEMENT

This report has been prepared for the Final Year Project on topic E-shopping named Rupjaygri Shop to implement the theory in the real field with the purpose of fulfilling the requirements of the course of BCIS (Bachelor of Computer Information System).

The aim of this project is to make familiar to the practical aspect and uses of theoretical knowledge and clarifying the career goals, so we have successfully completed the project and compiled this report as the summary and the conclusion that we have drawn from the project.

We would like to express our sincere gratitude to our Project Coordinator Mr. Sanjay Lama who had given his valuable time and given us chance to learn something despite having his busy schedule, Principal Mr. Surendra Shrestha and Coordinator Mr. Dipesh Shrestha for their great guidelines.

Lastly, we would like to thank Mr. Nimesh Shrestha who had provided us with the guidance and his easiest MVC framework and for his encouragement, patience and expert advice and also for supplying so much invaluable information and finally special thanks go to my friends and family who have supported us throughout our project.

Table of Contents

SN Contents Page No
a. Title Page i
b. Declaration ii
c. Recommendation iii
d Acknowledgement iv
e. Table of Contents v
f. List of Figures vii
g. Executive Summary ix
h. Chapters  
  1. Introduction

1.1.   Background of the Study

1.2.   Objectives of the Study

1.3.   Limitations of the Study

1.4.   Selection Methods of Data Collection

  1. Report Body

2.1.    Introduction of the D.P Sign

2.2.    Corporate Goal of the D.P Sign

2.3.    Mission Statement of the D.P Sign

2.4.    D.P Sign™s Spirit is infused into every components

2.5.    Services

2.5.1.      Web Based Application Design and Development

2.5.2.      Flex Printing and other printing services

2.5.3.       Custom Software Solutions

2.5.4.       Embedded Software Solutions

2.5.5.       Online Earning Training

2.6.    Engagement Models

2.6.1.       Fixed Price Turnkey Model

2.6.2.       Per Resource Model

2.6.3.       Offshore Model

2.7.    Delivery Model

2.8.    Process and Standards

2.9.    Domain Profile

2.10.                    Competitive Advantage of DP Sign

2.11.                    Physical Infrastructure

2.12.                    Organizational Hierarchy Chart

2.13.                    Number of employees

2.14.                    Introduction of Departments We have worked

2.15.                    Major Clients

2.16.                    Business Volume

2.17.                    Products Offered by DP Sign

2.18.                    Time Frame of Internship

  1. Analysis

3.1.    Strategic Business Units

3.1.1         Web Development Department Analysis

3.1.2        Online Earning Department Analysis

3.1.3        PEST Analysis

3.1.4        SWOT Analysis

4            Recommendations

5            Summary and Conclusion

6            Program Workplace Relationship

1

1

1

1

2

3

3

4

4

4

5

5

5

5

5

5

6

6

6

6

7

7

11

13

14

15

16

16

20

20

21

22

23

23

23

24

25

26

28

29

30

i. Bibliography
j. Appendices  

List of Figures

SN Name of Figure Page No.
Fig:2.1 Organization Structure 13
Fig:2.2 Business volume of DP Sign 19
Fig:2.3 Time frame representation in Gantt chart 22

List of Tables 

SN Name of Table Page No.
Tab:2.1 System unit and its Software 11
Tab:2.2 List of technology with platform  
Tab:2.3 Number of employees  
Tab:2.4 Collection of Pay Per Click sites  
Tab:2.5 List of major clients  
Tab:2.6 Printing product of DP Sign  
Tab:2.7 Web services providing by DP Sign  

ABBREVIATION USED

DP Sign Digital Printed Sign
CRM Cus­­­tomer Relation Management
IT Information Technology
QA Quality Assurance
CMS Content Management System
SWOT Strength, Weakness, Opportunity and Threats
PEST Political, Economical, Social and Technological
RFQ Request For Quotation
RFP Request For Proposal
GIS Geographic Information System
PMBOK Project Management Body of Knowledge
PMI Project Management Institute
CMMI Capability Maturity Model Integration
ISO International Organization for Standardization
ODC Offshore Development Center
IP Internet Protocol
CVS Current Version Software
TFS Team Foundation Server

EXECUTIVE SUMMARY

The main objective of this report is to recapitulate our Final Year Project on œE-shopping named Rupjaygri Shop and to be familiar with practical aspect of the theoretical knowledge gained in a classroom. This report is the part of final year project, required by Pokhara University in partial fulfillment for the requirement of BCIS program.

We (Rupak Nepali, Jayman Tamang and Grishma Sharma) feel that Nepal is progressing in ICT field thus the import and export of this country is mounting with the help of ecommerce and e-businesses. Thus, there is need of shopping software so that people can broaden their business worldwide.

Final Year Report on E-shopping Title page of the report Part I

 

     Final Year Project Report

ON

E-Shopping Named RupJayGri Shop

Prepared By:

RUPAK NEPALI

JAYMAN TAMANG

GRISHMA SHAH

Submitted To:

**** College

Faculty of management

Pokhara University

 

In partial fulfillment of the requirements for the degree of

Bachelor of Computer Information System (BCIS)

Kathmandu

Nov 2010

[divide]

Pokhara University

Faculty of Management

*** College

 

 

DECLARATION

 

We hereby declare that the work reported in this project work on “E-Shopping Named RupJayGri Shop” submitted to *** College, Pokhara University is our original work done in the form of partial requirement for the degree of Bachelor of Computer Information System (BCIS) under the supervision of  Mr. ***, *** College, and Mr ***, Coordinator, *** College.

 

 

 

                                                                         RUPAK NEPALI

                                                                                    JAYMAN TAMANG

                                                                      GRISHAMA SHAH

 

[divide]

 

Faculty of Management Studies

Pokhara University

 

RECOMMENDATION

This is to certify that the CIS Project Report:

Submitted by:

 

RUPAK NEPALI

JAYMAN TAMANG

GRISHMA SHAH

Entitled

             E-Shopping

has been prepared as approved by this college. This CIS Project

Report is forwarded for examination.

 

…………………….                                                      .………………….

 

Display featured products of opencart at WordPress

Today we read the above post and was thinking of something new like showing the products at WordPress of opencart. http://forum.opencart.com/viewtopic.php?f=128&t=36145

We are thinking to make that it works in the same URL as most of my clients thinking to use WordPress as the blog because of different beneficiaries and Opencart as the main site.

Mostly what we have seen is Opencart installed as the main site and there is a link somewhere in Opencart as Blog and when clicked on it, it redirected to the WordPress.

opencart to wordpress
opencart products to WordPress

The WordPress design is made the same as opencart and menus are managed likewise so people think that they are navigated to the blog but not to the different platforms.

With the above post now we can show the featured or latest or best sellers and so no, on the WordPress that will help to make the concurrency in site

Hope we start this soon and make it available to you all

Although we are also quite unsure whether to retrieve to the opencart from WordPress or to show the products to WordPress.

Opencart Paypal sandbox always send the pending status although complete

While testing Paypal with Opencart, Paypal sandbox always sends the pending status although completed. We were working with the Paypal sandbox business account and Opencart opensource and getting this problem.

We were working for the missneopoints.com to make the instant delivery system. We got stuck for around 1 day as the PayPal complete status is also sending pending status. We checked it many times and installed many new installations but the result is the same. Always we get the pending status.

Instant delivery system in opencart
The instant delivery system in opencart

So, we have to test it live with real payment. We were successful to accomplish the given project.

Now, what was the real problem we found was, we were using the live Paypal email address instead of the business account or in-store email account created at the sandbox. 🙂

So, we create a business account and insert it into the Paypal payment address and it started to track the correct status.

We created the store on Opencart and just changed the Paypal email at Modules>> Payments >> Paypal Standard. We inserted the business PayPal email and it starts working.

Paypal checkout email address we are using

deepak_1341249680_per@gmail.com Personal Verified In-Store Checkout Enabled    
  Country:   United States Business Name:   None Credit Card:   Visa  4502177194947462
Exp Date: 7/2017 Bank Account:   Checking (Confirmed)
Routing Number: 325272063
Bank Account Number: 254497029715223 Balance:   5000.00 USD Email:   Confirmed Phone Number:   4089836609 First Name:   Rupak Last Name:   Nepali Notes:     Date Created:   Jul 2, 2012, 10:21:36 PDT

Likewise, we use the following business account

deepak_1342357563_biz@gmail.com Business Verified    
    Country:   United States Business Name:   Deepak Nepali’s Test Store Credit Card:   Visa  4215085155458882
Exp Date: 7/2017 Bank Account:   Checking (Confirmed)
Routing Number: 325272063
Bank Account Number: 297595978189791 Balance:   3811.94 USD Email:   Confirmed Notes:     Date Created:   Jul 15, 2012 06:06:27 PDT

Opencart PayPal sending only pending status at the sandbox, opencart sandbox PayPal

Let us know if you are getting any payment issues so that we can help you to solve it.

Popup the shopping cart on clicking the Add to Cart button on Opencart

We are modifying the opencart eCommerce platform, the module popup the color box on clicking the add to cart button. It shows the mini shopping cart as shown in the mouse hover. This helps with confirmation of adding and easy navigation to the checkout or shopping cart and some visual effect to the site.

You can easily download the file from below and it is free. The Version I have tested for this module is 1.5.4.1

Right now two files are overridden common.js and the product.tpl. If you have customized these files then you have to add one line to each file manually.
Find the following line and insert it

	$.colorbox({href:"index.php?route=module/popupcart"});

At common.js
Find the function addToCart(product_id, quantity) { and below the following line insert the above line:

if (json['success']) {
$('#notification').html('< div style="display: none;">' + json['success'] + '>img src="catalog/view/theme/default/image/close.png" alt="" /> </div>');

Likewise at product.tpl
Find the line $(#button-cart).bind(click, function() { and just after this line finds the line below and insert the code just below this.

if (json['success']) {
$('#notification').html('< div style="display: none;">' + json['success'] + '>img src="catalog/view/theme/default/image/close.png" alt="" /> </div>');

Enjoy the module and let me know if there is something that I need to do to improve it.

How to find the Opencart version that you are running?

The easiest way to find the Opencart version that you are running is to see at the admin footer. Go to your site http://YOUR_URL/admin then see at the footer and you will be able to know which version of opencart it is because most of the programmer did not remove it, so it will be easy to find it out.

get the opencart version

If you were not able to find it there then another option is to open the index.php of the root folder and look for

// Version
define('VERSION', '3.0.3.2');

The VERSION is the named constant for the Opencart version, here in the above example it is 3.0.3.2

Similarly, there are other places where we can find the Opencart version. We can also find it out by seeing the coding style also. One of the most changed styles is as below,

Open ../catalog/controller/module/latest.php, look at line 3

If it says: protected function index($module) { then you have 1.5.0.x

If it says: protected function index($setting) { then you have 1.5.1.x

Similarly, you can find out the opencart version, let us know if you are having any issues and we will help you on those.

E-commerce Module: Replace of fancy box in Opencart with the color box

I love the opencart but I am worried using the fancy box for image enlargement in the product details page, so I think to change the way to show the image enlargement with the use of the color box.

Download the following zip files, upload those files and folders in the root folder like in the image below:

download button

colorbox-in-opencart
colorbox-in-opencart

Go to the catalog/view/theme/default/template/product.tpl and place the code below, below the <?php echo $header; ?>

<link rel="stylesheet" href="colorbox.css" /> <script src="colorbox/jquery.colorbox.js"></script> <script> $(document).ready(function(){ $(".group1").colorbox({rel:'group1'}); $("#click").click(function(){ $('#click').css({"background-color":"#f00", "color":"#fff", "cursor":"inherit"}).text("Open this window again and this message will still be here."); return false; }); }); </script>

module for free in opencart, image magnification
module for free in opencart, image magnification

Now find “facybox” and replace with the “group1” and save, then bingo, things works.

fancy color box for opencart
fancy color box for opencart

Features of ColorBox

  • Supports photos, grouping, slideshow, ajax, inline, and framed content.
  • Lightweight: 10KB of JavaScript (less than 5KBs gzipped).
  • Appearance is controlled through CSS so it can be restyled.
  • Can be extended with callbacks & event-hooks without altering the source files.
  • Completely unobtrusive, options are set in the JS and require no changes to existing HTML.
  • Preloads upcoming images in a photo group.

Find out the example how the colorbox works out as the fancy box with some extra things.

http://www.jacklmoore.com/colorbox/example3/

How to insert the You Save price in opencart 3? – Opencart 3 module free

Opencart tips and tricks post which shows you how we can show or insert the “you save” price. For the demo, you can check the site http://www.starpetshub.com/

You save price code in opencart

We have managed to show the You Save in modules as well but we have hard-code it so we have to change in the controller of each module and in the product controller and the category controller. To make it work we have to Edit or insert product >> Click on Special tab >> Add your special price amount >> then Save it. Go to your site and click on the product. You will see a regular and discounted value with the discounted amount and You save as shown in the above image.

First, we are going to show how to insert the “You Save” on the category page.

Find the following line of codes in the catalog/controller/product/category.php

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
    $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
} else {
    $price = false;
}

and paste the following code after if (($this->config->get(‘config_customer_price’) && $this->customer->isLogged()) || !$this->config->get(‘config_customer_price’)) {

$save =$this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')) -$this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));

and on the same page find the following code and add ‘save’ => $save in the product array

$this->data['products'][] = array(
 'product_id' => $result['product_id'],
 'thumb' => $image,
 'name' => $result['name'],
 'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
 'price' => $price,
 'special' => $special,
 'save' => $save,
 'tax' => $tax,
 'rating' => $result['rating'],
 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
 'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'])
 );

Now go to the catalog/view/theme/default/template/product/category.tpl and replace the price section and paste the following and things work out in the category page.

<?php if ($product['price']) { ?>
 <div class="price">
 <?php if (!$product['special']) { ?>
 <?php echo $product['price']; ?>
 <?php } else { ?>
 <span class="price-old">Retail Price: <?php echo $product['price']; ?></span><br /> <span class="price-new"><b>Our Price:<?php echo $product['special']; ?></b> <br />You Save:<?php echo $product['save']; ?> </span>
 <?php } ?>
 <?php if ($product['tax']) { ?>
 <br />
 <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span>
 <?php } ?>
 </div>
 <?php } ?>

How to show you save price in the featured module of Opencart?

Find the following line of codes in the catalog/controller/module/featured.php

if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
 $price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
 } else {
 $price = false;
 }

and paste the following code

$save =$this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')) -$this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));

and on the same page

$this->data['products'][] = array(
 'product_id' => $product_info['product_id'],
 'thumb' => $image,
 'name' => $product_info['name'],
 'price' => $price,
 'special' => $special,
 'save' => $save,
 'rating' => $rating,
 'reviews' => sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']),
 'href' => $this->url->link('product/product', 'product_id=' . $product_info['product_id']),
 );

insert the ‘save’ => $save, as in the above in the product array.

Now go to the catalog/view/theme/default/template/module/featured.tpl and replace the price section and paste the following and things work out in the category page.

<?php if ($product['price']) { ?>
 <div class="price">
 <?php if (!$product['special']) { ?>
 Our Price:<?php echo $product['price']; ?>
 <?php } else { ?>
 <span class="price-old">Retail Price: <?php echo $product['price']; ?></span><br /> <span class="price-new"><b>Our Price:<?php echo $product['special']; ?></b> <br />You Save:<?php echo $product['save']; ?> </span>
 <?php } ?>
 </div>
 <?php } ?>

Likewise, you can make the changes in the latest module, category module, special module, make some changes as in the featured module and things will work like in the demo site.

We have not made the language and other settings, for now, we will make the free module for you all till then take care of the above coding style.

This forum post may be helpful for you as well

http://forum.opencart.com/viewtopic.php?f=131&t=39597

You can directly download the module here

http://forum.opencart.com/download/file.php?id=6861

Hope you liked this post, let us know if you have any questions or suggestions. Please subscribe to our YouTube Channel for Opencart video tutorials. You can also find us on Twitter and Facebook. Enjoy!

the amount that customer saves, right under the price, when there is a special price for the product, shows the amount in an amount that customer saves, customer save modules, You save this module for all modules, discount % or amount of $ right under the picture on front page modules

Auto-scrolling of carousel in opencart, now manufacturer images

Opencart tips and tricks to add auto-scrolling of carousel in opencart. We will show it to the manufacturer’s images.


Edit file catalog/view/theme/yourtheme/template/module/carousel.tpl, find the below code

vertical: false,

and add after it

auto: 3,
wrap: 'circular',

Here auto represents the time span to scroll, with the above after three seconds the carousel will move and it will go on moving.

file transfer server, corrupt images when uploaded through FTP

corrupt images when uploaded through ftp but works fine by uploading from the cpanel

I used Filezilla 3.5.3 to upload images and files. When i upload the other files it work but when i upload the images then no images are shown in the server but it is working fine in the localhost. After uploading the updates I noticed that images were corrupt. I verified that images worked on my system, uploaded them and tried to view, but nothing.

Then I downloaded the image and tried to view it on my laptop, but the downloaded image was corrupt as well. I finally used the built in Windows Explorer to upload the PNG files and that worked, so I know the issue is in Filezilla.

I have not had this issue in the past with Filezilla.

I finally find out that the file transfer server software, Filezilla have the setting from where there is

I mistakenly set the file transfer type to ASCII by which the images are not uploaded but other files are uploaded. Again setting to the Auto I am now able to transfer the images as well.

Bold the last breadcrumb element in the opencart, custom breadcrumb in opencart

Custom breadcrumb in opencart

Just insert the code below in the footer.tpl and the last breadcrumb will be bold as in the image above

<script type="text/javascript">// <![CDATA[
$(document).ready(function () {
$(".breadcrumb a:last-child").css('font-weight','bold');
});
// ]]></script> 

Send mail when reviews are given to the product in opencart

This is opencart 2 guides to send an email when reviews are given to the product. Changes to be done in the module’s product.php is shown in the following images

Send mail when review is done in opencart

Likewise, we have to change the product.tpl, type the code for the form as per your need

Email functionalities in review

Now to the javascript part of the product.tpl which pass the data to the model and return whether the review is successfully added or not.

JS to send email in Opencart

We hope you will get it because writing a post and long stories I feel bored just post things that we have done and shown you the logic we used in opencart to send mail to the specified mail.

We have not focused on the languages so sorry for that as well will update this post when we will get the time cheers.

Show related products at the cart page in the Opencart site

For the up-sell strategy, we can show recommended or related products on the cart page, we show the added related products as per the products in the cart as recommended products for now.

We are confused about whether to show products like the featured products or show the related product in the cart that is related to the products in the cart. Following is the steps of code changes and addition we have done in the Opencart:

For Opencart version 2

Open catalog/view/theme/default/template/checkout/cart.tpl and find <?php echo $content_bottom; ?> and paste following code:

<?php
$this->load->model('catalog/category');
foreach ($products as $product) {
    $arrs[] = $results = $this->model_catalog_product->getProductRelated($product['key']);
}
if ($arrs) {
	foreach ($arrs as $arr) {
		foreach ($arr as $lastarr) {
			echo $lastarr['name'];
		}
	}
}
?>

How the above code works?

$this->load->model(‘catalog/category’);

This will just load the model for retrieving the data from the database.

foreach ($products as $product) {
$arrs[ ] = $results = $this->model_catalog_product->getProductRelated($product[‘key’]);
}

This lines detect the products in the cart and retrieve the related products as in the cart and keep things in the array $arrs.

if($arrs){

This checks whether there is related products or not, related with the products in the cart.

foreach ($arrs as $arr) {
foreach ($arr as $lastarr) {
echo $lastarr[‘name’];
}
}

This just prints the name of the related products related to the products in the cart. Module and Vqmod will be published soon. Let us know if need any support. Please subscribe to our YouTube Channel for Opencart video tutorials and get lots of other Opencart free modules. You can also find us on Twitter and Facebook also.