0% found this document useful (0 votes)
583 views144 pages

Capstone Chapter 1 23 and 4 Printable

Caps 2 proj

Uploaded by

Je St. Dominic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
583 views144 pages

Capstone Chapter 1 23 and 4 Printable

Caps 2 proj

Uploaded by

Je St. Dominic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 144

1

CHAPTER I
INTRODUCTION

Project Context

The project study converted the traditional fill-up form transaction into a website

substructure that solved the preservation and reduced the cost of creating one. The

traditional fill-up form gets lost, stolen and drenched in water during the rainy season. As

the researcher and proponents of this study, it has been attested that employee and the

owner were less likely to lose or damage the website. The owner can access the website

anytime and anywhere. The project analyze to make it more effective when it comes on

transacting to the client and to monitor the monthly sales, As a researchers of the said

system. The client encounters over number of applicants, spurious and unpunctual

customer, so we gather data to work and deal the project.

Creating a Tail-g monitoring and inventory system enables an ever-demanding

growth of technology for the company. The owner can use the said website to monitor the

sales for the month, client information, and last transaction and the incoming due date of

the client.

According to Earth Soft Foundation of Guidance 2018, E-Commerce Guide Prior

to the development of e-commerce, the process of marketing and selling goods was a mass-

marketing and sales force driven process, consumers were considered to be trapped by

geographical and social boundaries, unable to search widely for the best quality and price.

The purpose of this study is to help the consumer to purchase the product easily,

however the proponents formulated the idea and came up with the project proposed. This

chapter contains the problems that this project aims to solve


2

Purpose and Description

The study intended to help the client to monitor the daily transaction of the sales

report to the costumer, secured and reliable Web Based System for Tail-g electric motor

cycle. To reduce effort in fill-up form. In all manners accepted, the deviation of platform

used by client in compliance with these changes is paramount. The beneficiaries of this

advancement were as follows:

TailG. It will aid the company promotion to gain more client.

Client. The Web Based System will help the client to lessen the effort of going into

the store make payments and to fill-up forms.

Owner. It will help the owner to monitor the monthly, weekly sales and transaction

even the owner is not present in the store.

Employee. It will help the employee to easily find the form or the record of the

client in the database.

Project Objectives

To develop an efficient and fast web base transaction system in Tailg E-motorcycle.

General Objective

The general objective of the study is to develop a functional system through Web

Based for Tail-G Electric motorcycle as a replacement for the traditional prepared

recording log book.


3

Specific Objectives

1. To Integrate the following significant features in the developed system such as:

1.1 notification via gmail;

1.2 online ordering system;

1.3 360° showrooms;

2. To Utilized the following software development tools:

2.1 Windows Operating System;

2.2 Xampp (Cross platform, Apache, MySQL, and PHP);

2.3 HTML (Hypertext Markup Language);

2.4 JavaScript;

2.5 CSS (Cascading Style Sheets);

2.6 Notepad++ (Text Editor);

3. To evaluate the system using the software quality evaluation criteria such as:

3.1 functionality;

3.2 reliability;

3.3 usability;

3.4 maintainability;

3.5 portability;

3.6 workability; and

3.7 testing and documentation;

Scope and Limitations

The Tail-G electronic motorcycle web based sales and transaction system it is

provided detailed information about the electronic bikes and electric motors. The goal is to
4

innovate; made these manual transaction goes to online selling and increased accessibility

for the customers.

The system of proponents has given an idea for other customer spectator about the

system, can viewed the featured photos of electric motor from wall, and the system have a

monthly sales report for admin. This section can view all monthly sales report through bar

graph.

Security system offer a secured system because it has a fixed username and

password given by the proponents, signing in is the fill up form section for the employee

of Tailg E-motorcycle for the authorization to adding, deleting and updating the new

product of company. Account for customer is the provided from admin to view and entering

inside of the web page and for the customer willing to buying item of Tailg E-motorcycle

and history and recent of customer is to knowing the detailed transaction of the customer.

The limitation of the system proposes that there is no installment transaction while

about for the payment is through Paypal only, SMS update through manual sending

message using a gmail account of the company and the system was not a downloadable

due to it is website only.


5

CHAPTER II

THEORETICAL FRAMEWORK

This chapter includes different literatures that are related to the study, concept of

the study, conceptual model, and the definition of terms used.

Related Literature

The following is a review of related literature that show the different transaction

requirements for a business and the importance of a transaction management system. The

relationship between the motorcycle industry and the business phenomenon which is

purchase-on-installment basis, whose intricate processes are the object for automation

through the system, is also supported. All documents, which are result of research, contain

information that will help in constructing the system.

Sales Mastery

According to Heineman (2015), States a sale is the activity of selling, which forms

an integral part of any commercial activity. It could be argued that it is the cornerstone of

business as it is the meeting of buyers and sellers. All other areas of business have the goal

of making the meeting successful. Sales Mastery is considered by many as some sort of

persuading “art”. On the contrary, the methodological approach of selling refers to it as a

systematic process of repetitive and measurable milestones, by which a salesperson relates

his offering enabling the buyer to visualize how to achieve his goal in an economic way.
6

Java Web Services

According to Walker (2015), generally a transaction is an agreement,

communication, or movement carried out between separated entities or objects. In business

and finance, however, a change in the status of the finances of two or more businesses or

individuals like customers is a transaction. In a system, transaction again takes a different

meaning. A transaction may be thought of as any interaction with the system that results in

a change to the system state. In the book of Java Web Services Architecture, McGovern

(2016) said that the notion of a transaction is fundamental to business system architectures.

A transaction, simply put, ensures that only agreed-upon, consistent, and acceptable state

changes are made to a system regardless of system failure or concurrent access to the

system’s resources

Automate Management

According to McGoven (2014), a management system is the framework of

processes and procedures used to ensure that an organization can fulfill all task required to

achieve its objectives. However, a sales management system is an information system used

in marketing management that automate some of a company’s sales functions. It involves

all concerned members in planning to establish mutually understood and accepted sales

objectives. Effective operating relationships and responsibilities necessary to the

achievements of sales objectives are prescribed. Criteria for success in each sales position

are establish Effective sales management permanently increases the effectiveness,

productivity, skills and earnings of a business structure’s sales force.


7

University College Ghana

According to Garcia (2015), the design of this system encourages specifics report

generation tailored to you. Information presented “your way” is an integral part of the

EXNICO Sales Management System. Basic reporting capabilities allow the user to view

reports by taxable and non-taxable sales by state and tax code within state for sales or

excise tax reporting. In addition, sales may be viewed by inventory item – including units,

dollar sales, cost of sales and profitability.

Solution Sales Management

According to Carnagie (2016), in terms of order management, the Bizentro ERP

Solution Sales Management Module is set up to reflect production planning, taking in

consideration current inventory, production capability, and orders from customers. It can

inform customers of the expected delivery date for items by analyzing CTP(Capable to

Promise), order management, production management, and capacity of suppliers, thus

prioritize production capability depending on the delivery date.

In addition, it can check all the changes throughout the process ranging from production,

inventory, purchasing and accounting level.

MyCampus Management System

According to Mellon (2017), as defined earlier, a sale is the activity of selling. This

activity is integrated in the system and may be seen in the Transaction portion of the

system. The sales feature is where the system concentrates most of its processes. From

getting the customer information, to the last step which is recording the customer’s
8

payment information, all these steps are followed to ensure the ease and comfort and most

specially, the precision of the entire sale transaction.

Performance Management

According to Jorgenson (2012), over the past two years, we have seen business

transaction management (BTM) technologies make significant progress in terms of

deployment and data gathering techniques. “Traditional” BTM solutions that are expensive

to deploy, tough to scale and time consuming to maintain are losing ground to alternative

“lightweight” approaches that have made it much easier for the mainstream to adopt this

critical dimension of application performance management (APM). Techniques to capture

granular transaction data at the network level have given IT operations and managed

services teams access to the grass roots information of every business transaction, without

requiring agents, transaction tagging or code changes.

Movers and Shakers

According to Doug (2011), transactions are one of, if not the most, critical

components of how IT supports the business in meeting business goals and objectives.

They are the simple and complex entities that get work done. They are the “movers and

shakers” within the IT environment that are actively responding to client or business

requests via the business services and applications that IT delivers. They move key data

and information between infrastructure components that make up complex end-to-end

business services and applications that exist in nearly every company today.
9

Related Studies

The following review of related studies show the already success of the Transaction

Management System in a business and also the history of E-motorcycle manufacturing in

the Philippines. These studies provide data and statistics to enhance clarity and

understandability of the documentation of the system. All noted documents are results of

research and contain important information that will help in the development of the system.

Linux Based Point of Sales System


Concurring Barrios (2015), priority is given to management of sales. All objectives

were presented in a general perspective because unlike the system, no client is specified.

Barrios’ objectives are also left flexible in case any company may want to implement his

system. This study also differs from the system because in the SDLC, planning and

development are given utmost importance because no existing system analyzed. Moreover,

defining the project scope wasn’t done with any assistance of a concerned party again

mainly because there is no target client. Therefore, Barrios’ system is evaluated based on

a general view of people who may or may not be able to totally relate to the system. Its

usability is therefore judge only by the general computer using public and not of a specific

user who may have involvement in defining the project scope in the first place as a client

would most probably prefer. In addition, the overall evaluation of the system is based

mostly on the system’s design, efficiency and security and not very much on the accuracy

because no specific company goals were stated and also less on the usability because it was

evaluated not by people who would use it in the future. On the other hand, in the thesis

entitled Bulacan State University Hostel


10

Management System

According to Bernardino et. al., (2013), accuracy was very important factor that

was considered because the system’s main goal is effective data management. When

managing of data is the priority, it is very important that these data be accurate and at the

same time secure.

The importance of defining the project scope is magnified by comparing the TailG E-

Motorcycle Web based Sales and Transaction Management system to other related studies.

General needs are very different from a company’s specific needs and different companies

have varying needs. A general system may be applied by one company but not by a similar

company of a different location. Many factors should be put into consideration most

specially the target clientele.

Billing, Order Production Inventory System

According to Miller (2014) entitled Billing, Order Production Inventory System for

Phoenix Industries, is very similar to the system yet variations in the project scope

differentiate the two. As a billing feature is included in the TailG E-Motorcycle Web based

Sales and Transaction Management system, Coguin’s billing system include features that

allow the user to send bills to customers through the internet. This is not featured in the
11

CHAPTER III

TECHNICAL BACKGROUND AND METHODOLOGY

Technical Background

This chapter focuses and discusses the technical background used in developing the

Web based transactions of Tailg E-motorcycle. The discussion covers the project

methodology, conceptual framework, and conceptual system design and deployment

diagrams

Technicality of the project

The researchers have used the Web Application because it consists of all the API

required to develop a Web page. Chrome browser has using of researchers to test the

developed Web application. Java Script can be used to create complete applications that

may run on a single computer or be distributed among servers and clients in a network. It

can also be used to build a small application module or applet for use as part of a webpage.

Details of Technology to be used

In this section is the discussion what are the technologies to be used and how did

the researchers use the technologies.

SQL. Standard Query Language. It used to make a database, used for adding and

modifying information in the database. The SQL common commands are ADD, DROP,

INSERT and UPDATE can be used with MySQL is commonly found on Web Service.
12

PHP. Hypertext Preprocessor. It used a web server to control the data and all

information inside or behind the system that are displayed, and also PHP help the

proponents to have an accurate function of the system.

HTML. Hypertext Markup Language (HTML), used for the front end of Web

browsers receive HTML documents from a web server or from local storage and render the

documents into multimedia web pages. HTML elements are the building blocks of HTML

pages. With HTML constructs, images and other object such as interactive forms may be

embedded into the rendered page. HTML provides a means to create structured documents

by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes

and other items. HTML elements are delineated by tags, written using angle brackets.

CSS. Cascading Stylesheets (CSS), The researchers used CSS as a designed to

enabled the separation can improve content accessibility, provide more flexibility and

control in the specification of presentation characteristics, enabled multiple web pages to

share formatting by specifying the relevant CSS in a separate .css file, and reduce

complexity and repetition in the structural content.

JavaScript. (JS), Alongside HTML and CSS, proponents also used the JavaScript

to give an action or function of every buttons of the system and to trapping the invalid

inputted from the users. enables interactive web pages and thus is an essential part of web

applications. The vast majority of websites use it, and all major web browsers have a

dedicated JavaScript engine to execute it. As a Multi- paradigm language, JavaScript

supports even-driven, functional, and imperative (including object oriented and prototype-

based) programming styles. It has an API for working with text, arrays, dates, regular

expressions, basic manipulation if the DOM, but the language itself does not included and
13

I/O, such as networking, storage, or graphics facilities, relying for these upon the host

environment in which it is embedded.

How the project will work

Specifically made for Tail-G Electric motorcycle. Users are required to make an

account by entering their username, password and e-mail for logging in.

A highly secured database, accessed only by an authorized administrator, will store

every information that passes through online registration process. It will be maintained

weekly: for debugging, updates, announcement and other systems related resolutions.

Methodology

Figure 1. Agile Development Model (SCRUM)


14

Figure 1 shows the development of the system using the agile method. The feature

or the process will be tested by IT expert and Client in every phase of the development

until the said user’s is satisfied with the design and functionality of the application.

SCRUM framework allows the proponents to implement.

The kind of model the proponents will used in developing the system was Agile

Development Model. The industry was accepted this kind of model as a better solution in

developing of project. This method can ensure that the value is being optimized throughout

the developing process. By the use of planning and feedback results, the researchers can

continuously align a delivered product that reflects the needs of a client. It easily changes

the requirements can of the client throughout the process by measuring and evaluating the

status of a project. The TailG Electric Motorcycle will follow the SCRUM Agile

Methodology as the software development model for the project. SCRUM is an agile

framework handling work with a significance on software development. SCRUM is about

collaborating and communicating both with the people who are doing the work and the

people who need the work done. It’s about delivering often and responding to feedback,

increasing project value by ensuring that users get what they actually want.
15

Conceptual Framework

This includes the input, process and output of the system which provides how the

proponents conducted the system.

PROCESS OUTPUT
INPUT
Software Design and TailG E-Motorcycle
Part I: Develop of the
system development using
Web based Sales and
 System AGILE MODEL:
requirements Transaction
 Product Backlog
 Review of  Sprint Backlog Management System
related literature  Sprint Week
and studies  Sprint Review
Part II: Assessment of Meeting Release
the System to be
developed in terms of
the following
criterions:
 Purpose
 Coverage
 Currency
 Objective
 Accuracy
 Functionality
 Flexibility

Figure 2. Input Process Output (IPO) Model

The Input Output (IPO) Model is a function graph that identifies the inputs, outputs

and required processing task required to transform inputs into outputs. The model is

sometimes configured to include any storage that might happen in the process as well. The

inputs represent the flow of data and materials into the process from the outside. The
16

processing step includes all task required to effect a transformation of the inputs. The

outputs are the data and materials flowing out of the transformation process.

It has different stages such as:

Product Backlog
A product backlog is a prioritized list of work for the development team that is

derived from the roadmap and its requirements. The most important items are shown at the

top of the product backlog so the team knows what to deliver first.

Sprint Backlog

The sprint backlog is a list of tasks identified by the Scrum team to be completed

during the Scrum sprint. During the sprint planning meeting, the team selects some

number of product backlog items, usually in the form of user stories, and identifies the

tasks necessary to complete each user story.

Sprint Week

Scrum Sprint. In the Scrum method of agile software development, work is

confined to a regular, repeatable work cycle, known as a sprint or iteration. Scrum sprints

used to be 30 days long, but today we advise one-week or two-week sprints.

Sprint Review Meeting Release

The sprint review occurs on the last day of the sprint. The purpose of

the meeting is for the team to show the customers and stakeholders the work they have

accomplished over the sprint so that the entire Scrum team can receive feedback to fine-

tune the product backlog and release plan.


17

Figure 3. Sign In
This picture shows the sign-in screen of the web. Here the user is required to input their
username and password to access the application.

Figure 4. Sign Up
This figure shows the sign up screen of the website. Here the Users are required to input
their personal information such as first name, last name, email address, password and
confirm password to register in the database to gain access for payment in the website.
18

Figure 5. Forgot Password


This figure shows the forgot password when user forgot his password and incase of
emegency that he need to recover the password.

Figure 6. Landing Page


This figure shows home page of website and when the user wants to browse the products
he doesn’t need to login just for browsing the products.
19

Figure 7. Your Cart


This figure shows the cart of user and the button to pay through paypal.

Figure 8. Paypal
Figure 8 shows the paypal page when user click the paypal button and wants to pay the
product on his cart.
20

Figure 9. Category
This figure shows the category view and when user wants to see the specific products.

Figure 10. View Product


This figure shows the full details of product when the user clicks one of product he wants
to view.
21

Figure 11. 360 Image View


This figure shows the 360 image view and when the user wants to view the other side of
product.

Figure 12. User Profile


This figure shows the user’s profile, transaction history, history overview, and update
profile button.
22

Figure 13. Update Profile/Account


This figure shows the update profile/account when the user wants to change name, last
name, email, password, contact no, address and profile picture.

Figure 14. Transaction Over View


This figure shows the over view of user’s transaction whenever he wants to view or
review his transaction history.
23

Figure 15. Admin Dashboard


This figure shows the admin dashboard and there is daily and monthly sales report.

Figure 16. Admin Sales History


This figure shows admin sales history this is where the data sales that admin only can view
whenever he wants to know if the user have already paid.
24

Figure 17. Admin Transaction Full Details


This figure shows the full details of transaction history of users or he wants to print the
sales report of history.

Figure 18. Admin User Account List


This figure shows the user list on admin page and to see how many users have already
register.
25

Figure 19. Admin Page Users Cart


This figure shows the users cart in the admin page and the admin can edit the quantity if it
is users request.

Figure 20. Admin Page Add Product on Users Cart


This figure shows the cart edit/ add in the user cart if it is the users request.
26

Figure 21. Admin Page Edit User


This figure shows how the admin can edit the account if the user requests it.

Figure 22. Admin Page Delete User


This figure shows how admin can remove one or more users account if it is not active or it
has violation problem.
27

Figure 23. Admin Page Add New Accounts


This figure shows that admin can activate or create new accounts on his page when the
users register.

Figure 24. Admin Page Product List


This figure shows the product list are where the admin adds new products or edit the
information of products.
28

Figure 25. Admin Page View Product Details


This figure shows the view of product when admin wants to see the details.

Figure 26. Admin Page Edit Product Details


This figure shows the product can edit by admin or update the product when there is an
event or promo sales.
29

Figure 27. Admin Page Add New Product


This figure shows how to add new product for the new release of the company.

Figure 28. Admin Page Category List


This figure shows the category list from admin page and there is the edit button, delete
button, and add new category button.
30

Figure 29. Admin Page Edit Category


This figure shows edit category button that admin can do.

Figure 30. Admin Page Add New Category


This figure shows the add new category button that admin can do.
31

Physical Environment and Resources


Having the appropriate hardware and software requirements is an advantage to
make the system will work efficiently. Technical concept is one of the most important
things to consider in the system will work efficiently implementation. The researchers
make use of the method testing in discovering the specifications of a computer to know the
sufficient hardware and software capacity needed for the system to run. The system is
developed with the use of computer hardware and software.

Table 1
Hardware Specification Requirements for the website
Hardware Resources Minimum Requirements Suggested Requirements

Monitor 1152x864 pixels screen 1152x864 pixels screen


resolution resolution

Hard Disk Drive 2 GB available disk 2 GB available disk capacity


capacity

RAM 2 GB 4 GB

Motherboard Any Any

Processor Intel Core i3 7th Gen Intel Core i5 7th Gen

Table 3
Software Specification Requirements for the Website
Hardware Resources Minimum Requirements Suggested Requirements

Operating System Windows 7 Windows 10

Database Xampp Server v3.2.2 Xampp Server v3.2.2,


FireBase
32

CHAPTER IV
RESULT AND DISCUSSION
This Chapter shows the presentation of data and state the statistical treatment and
statistical results obtained and the level of significance and interconnections between and
among data in the context of the study.

Data Processing and Statistical Treatment


This section presents the analysis, interpretation and implication of the summarized
test data, as well as observation on the limits of the system capabilities. It also discusses
the test data used, and the results of the tests. In order to determine the summarized results,
the researchers gathered all the data through the evaluation of the mobile application.
Efficiency and accuracy are just part of the intricate criteria for evaluating
web site. To ensure the functionality of TailG E-Motorcycle Web based Transaction and
Management System, its Authority, Purpose, Coverage, Currency, Objectively, Accuracy,
Functionality, and Training and Documentation were evaluated.
Population and Locale of the Study

Table 4

Respondents of the evaluation

Frequency (N) Percentage (%)

Motor User 35 80%

BulSU Faculty 12 10%

IT Experts 3 5%

Total 60 100%
33

Table 5 presents the respondents of the evaluation consisting of thirty-five motor users,

twelve BulSU faculty/staff, and three IT experts. The interpretation and presentation of the

tables discuss the overall mean distribution in each of the criteria. It also shows the

interpretation of the mean distributions. The researchers devised an evaluation instrument

based on the Software Quality Model following a five-point Likert scale:

Data Instrumentation

The researchers used several instrument in gathering the data needed for the study.

The following were the tools were used in gathering the data.

Evaluation Form. An instrument used to assess the operational feasibility of the

system. The following criteria were provided in order to evaluate the developed system:

(a) Authority, (b) Purpose, (c) Coverage, (d) Currency, (e) Objectivity, (f) Accuracy, (g)

Functionality, (h) Training and Documentation.

The proponent used several tools in gathering data needed for the study. The

following were the tools used in gathering the data. During the evaluation of the developed

system, the researcher distributes questionnaires to the respondent of the system and was

evaluated by an Motorcycle Users.


34

Data Analysis

Table 5

Five point Likert Type Attitude Scale

Scale Range Descriptive Rating

1 1.00 – 1.49 Poor

2 1.50 – 2.49 Fair

3 2.50 – 3.49 Good

4 3.50 – 4.49 Very Good

5 4.50 – 5.00 Excellence

The rating from the respondent are treated statistically using a Likert Scale and was

recorded based on the weighted mean or average. Their response to Software Quality

Evaluation Criteria such as: Authority, Purpose, Coverage, Currency, Objectivity,

Accuracy, Functionality, Training and Documentation.

There are three measurements of the central location widely used in descriptive

statistics: then mean of which has its appropriate used in describing the sample or

population being studied if three measurements; the weight mean, since it is more reliable

in computing the data ad considered to be most stable measures of central location

associated with the interval and/or ratio data provided that the distribution is normal.

The weight score is with descriptive rating of 5 = “Excellent”, 4 = “Very Good”, 3

= “Good”, 2 = “Fair”, 1 = “Poor”. The rating of the respondents on the different criteria

that will be computed using the mean formula.


35

Formula:

M= 5(r)+4(r)+3(r)+2(r)+1(r)
N
Where:

M - Mean

E – Sum of all Ratings

N – Number of respondents

Motorcycle User’s Assessment on the Functionality of the proposed Development

of TailG E-Motorcycle Web Based Transaction and Management System were sough using

a five-point Likert Scale interpreted as follows: Excellent (5), Very Good (4), Good (3),

Fair (2), Poor (1).

Table 6
Mean Distribution of Evaluation and Respondents Rating
In terms of the System’s Authority
Response
INDICATORS Mean
description
A. Authority. This element reveals that the person,
institution or agency responsible for a site has the
qualifications and knowledge to do so.
1. Authorship: Is it clear who developed the site? 4.52 Excellence
2. Is contact information clearly provided: e-mail
address, snail mail address, phone number, and 3.98 Very Good
fax number?
3. Credentials: Did the author state qualifications,
credentials, or personal background that gives 4.13 Very Good
them authority to present information?

4. Is the site supported by an organization or a


3.39 Very Good
commercial body?
General weighted mean 4.12 Very Good
4.50 – 5.00 Excellent: 3.50 – 4.49 Very Good: 2.50 – 3.49 Good: 1.50 – 2.49 Fair: 1.00 – 1.49 Poor
36

Explanation of table 6 mean

In terms of Authority, the experts graded the developed system as “Excellent” in term of

Suitability with a weighted mean of (4.52) which indicate that it is clear who developed

the site. In terms of contact information clearly provided, the respondents mark as ”Very

Good” with a mean performance of (3.98) which mean functions contact information are

correct. In terms of Credentials, Did the author state qualification, credentials, or personal

background that gives them authority to present information the respondents gave a “Very

Good” remark with a mean performance (4.13). The site supported by an organization or a

commercial body recorded a mean value of (4.50). As a whole, the proposed system

recorded a mean value of (4.12) which mean that the proposed system is excellent in terms

of Authority.

Table 7
Mean Distribution of Evaluation and Respondents Rating
In terms of the System’s Purpose
B. Purpose. The purpose of the information presented in the
site should be clear. Some sites are meant to inform, Response
Mean
persuade, state an opinion, entertain, or parody Description
something or someone.
1. Does the content support the purpose of the site? 3.94 Very Good
2. Is the information geared to a specific audience
3.80 Very Good
(students, scholars, general reader)?
3. Is the site organized and focused? 3.90 Very Good
4. Are the outside links appropriate for the site? 3.58 Very Good
5. Does the site evaluate the links? 3.76 Very Good
6. Check the domain of the site. The URL may indicate
3.56 Very Good
its purpose.
General weighted mean 3.75 Very Good
4.50 – 5.00 Excellent: 3.50 – 4.49 Very Good: 2.50 – 3.49 Good: 1.50 – 2.49 Fair: 1.00 – 1.49 Poor

Explanation of Table 7 mean


37

The content support the purpose of the site is rated by the respondents as “Very Good”

with a weighted mean of (3.94) which mean the purpose of the site is to properly clear. In

terms of the information geared to a specific audience, the respondents rated as “Very

Good” with a weighted mean (3.80). In terms of the site organized and focused is rated by

respondents as “Very Good” with a weighted mean of (3.90) which mean the site is

properly organized. In terms of the outside links appropriate for the site the respondents

rated as “Very Good” with a weighted mean of (3.58). In terms of the site evaluate the links

the respondents gave a “Very Good” remark with a mean of (3.76). In terms of domain

of the site is rated by respondents as “Very Good “ remarks with a weighted mean of

(3.56) which mean the URL of the site is properly indicated .As a whole, the proposed

system recorded an average weighted mean of (3.75). Overall the application is mark “Very

Good” in terms of being purpose.


38

Table 8

Mean Distribution of Evaluation and Respondents Rating


In terms of the System’s Coverage
C. Coverage. It is difficult to assess the extent of coverage
since depth in a site, through the use of links, can be
Response
infinite. One author may claim comprehensive coverage Mean
Description
of a topic while another may cover just one aspect of a
topic.
1. Are the topics explored in depth? 3.68 Very Good
2. Compare the value of the site’s information compared
3.54 Very Good
to other similar sites.
3. Do the links go to outside sites rather than its own? 3.68 Very Good
4. Does the site provide information with no relevant
3.78 Very Good
outside links?
5. Are the links (if any) evaluated and do they
3.84 Very Good
complement the documents' theme?
6. Is it all images or a balance of text and images? 3.70 Very Good
7. Is the information presented cited correctly? 3.76 Very Good
8. If page requires special software to view the
information, how much are you missing if you don't 3.66 Very Good
have the software?
9. Is it free or is there a fee to obtain the information? 3.84 Very Good
10. Is there an option for text only, or frames, or a
3.70 Very Good
suggested browser for better viewing?
General weighted mean 3.718 Very Good
4.50 – 5.00 Excellent: 3.50 – 4.49 Very Good: 2.50 – 3.49 Good: 1.50 – 2.49 Fair: 1.00 – 1.49 Poor

Explanation of Table 8 mean


The term “Coverage” The beginning of the design process and indicates that the
needs of the user should be in any design or system which the functions can be
understood. The topics explored in depth is rated by the respondents as “Very
Good” got a mean rating of (3.68). when it comes to compare the value of the site’s
information compared to other similar site got a mean value of (3.54) and rated by
the respondents as “Very Good”. The links go to outside sites rather than its own
rated by respondents as “Very Good” with a weighted mean of (3.68). The site
provide information with no relevant outside links is rated by respondents as “Very
Good” with mean of (3.78) which means the site provide has no external links
included. Complement the document’s theme got rated by the respondents as “Very
Good” and got mean value of (3.84) which links are evaluated. All images or a
balance of text and images the respondents rated the balance of images and text as
“Very Good” with a weighted mean of (3.70).The information presented cited
correctly of the system is rated by the respondents as “Very Good” when it comes to
the ease of which system function can be understood and got mean rating (3.76).In
terms of software to view the information the respondents rated as “Very Good”
39

with a weighted of (3.66). For the information of the system its free open source and
rated by the respondents as “Very Good” with a weighted mean of (3.84). Lastly
there an option for text only, or frames, or suggested browser for better viewing got
rated by respondents as “Very Good” and got mean of value (3.70). As a whole, the
proposed system recorded an average weighted mean of (3.71). Overall, the
application is mark “Very Good” in terms of Coverage and it is surely agreed that
the system is visually appealing .

Table 9
Mean Distribution of Evaluation and Respondents Rating
In terms of the System’s Currency
D. Currency. This refers to: 1) how current the information
presented is, and 2) how often the site is updated or
Response
maintained. It is important to know when a site was Mean
Description
created, when it was last updated, and if all of the links
are current
1. Links are up-to-date 4.21 Very Good
2. Links provided should be reliable. Dead links or
3.62 Very Good
references to sites that have moved are not useful.
3. Information provided so trend related that its
3.58 Very Good
usefulness is limited to a certain time period?
4. Has the site been under construction for some time? 4.14 Very Good
General weighted mean 3.88 Very Good
4.50 – 5.00 Excellent: 3.50 – 4.49 Very Good: 2.50 – 3.49 Good: 1.50 – 2.49 Fair: 1.00 – 1.49 Poor

Explanation of table 9 mean


The respondents rated the up- to-date of the system as “Very Good” and got the mean of
(4.21). Having the links provided should be reliable got mean of (3.62) and rated as
“Very Good” when it comes to usefulness is limited to a certain for some time rated by
respondents as “Very Good and got the mean of (3.58) which means site is limited to
usefulness because admin have to check the updating and maintaining the system. The
40

site been under construction for some time rated by respondents as “ Very Good” with a
weighted mean of (4.14) which means some time site has been under maintenance for
updating and change the new specification of the system .The respondents rated the terms
of Currency with an average weighted mean of (3.88) overall the is mark “Very Good”.
41

Table 10
Mean Distribution of Evaluation and Respondents Rating
In terms of the System’s Objectivity

E. Objectivity. Objectivity of the site should be clear. Beware


of sites that contain bias or do not admit its bias freely. Response
Mean
Objective sites present information with a minimum of Description
bias.
1. Is the information presented with a particular bias? 3.7 Very Good
2. Does the information try to sway the audience? 3.52 Very Good
3. Does site advertising conflict with the content? 3.72 Very Good
4. Is the site trying to explain, inform, persuade, or sell
3.84 Very Good
something?
General weighted mean 3.695 Very Good
4.50 – 5.00 Excellent: 3.50 – 4.49 Very Good: 2.50 – 3.49 Good: 1.50 – 2.49 Fair: 1.00 – 1.49 Poor

Explanation of table 10 mean

Objectivity of the site should be clear and use language correctly.The information presented
with a particular bias as “Very Good” and got a weighted mean of (3.7) which mean the system
represent the freely objectives. In terms of information try to sway the audience is rated by the
respondents as “Very Good” remark with a mean performance of (3.52). Site advertising conflict
with the content the respondents give a “ Very Good” remark with a mean of (3.72). Lastly in
terms of the site trying to explain, inform , persuade, or sell something the respondents gave a “
Very Good “ remark with a mean of (3.84)which mean respondents agree that system inform to
persuade something. As a whole, the proposed system recorded a mean average of (3.69) and
overall rated as very good in terms of objectives.
42
43
44
45
46

Table 11
Mean Distribution of Evaluation and Respondents Rating
In terms of the System’s Accuracy

F. Accuracy. There are few standards to verify the accuracy


Response
of information on the web. It is the responsibility of the Mean
Description
reader to assess the information presented.
5. Reliability: Is the author affiliated with a known,
3.88 Very Good
respectable institution?
6. References: do statistics and other factual information
4.2 Very Good
receive proper references as to their origin?
7. Does the reading you have already done on the subject
4.04 Very Good
make the information seem accurate?
8. Is the information comparable to other sites on the
3.94 Very Good
same topic?
9. Does the text follow basic rules of grammar, spelling
3.82 Very Good
and composition?
General weight mean 3.97 Very Good
4.50 – 5.00 Excellent: 3.50 – 4.49 Very Good: 2.50 – 3.49 Good: 1.50 – 2.49 Fair: 1.00 – 1.49 Poor

Explanation of Table 11 mean

In terms of Reliability the author affiliated with a known respectable institution the

respondents graded the developed system as “Very Good” with a weighted mean of

(3.88).In terms of Reference the experts graded as “ Very Good” with a weighted mean

of (4.2) which mean the information receive proper references as to their origin. After

reading have already done on the subject the respondents gave a “Very Good “ remark

with a weighted mean of (4.04) it is mean they agree that our system seem accurate. Tail-

G information is completely compared to other sites web based sale and transaction

system the respondents mark as “Very Good” with a weighted mean of (3.94). Basic rules

of grammar and spelling is rated by the respondents as “ Very Good” with a weighted

mean of (3.92). As a whole, the proposed system recorded an average weighted mean of

(3.97) which mean thath system is very good in terms of Accuracy.


47

Table 12
Mean Distribution of Evaluation and Respondents Rating
In terms of the System’s Functionality

Response
G. Functionality Mean
Description
1. Accessibility. Is there breadth of browser
compatibility? A minimum & maximum monitor
resolution? Is there is an appeal to universal 4.18 Very Good
audience - multilingual translations, cultural
sensitivity, disability access & services?
2. Speed & Bandwidth Sensitivity. Consider overall
page sizes & complexity, average download times,
4.1 Very Good
download order & image redraws; wait to first
reaction/interaction times.
3. HTML Quality. Clean HTML with no faulty code,
workability of active x, rollovers, applets, etc.,
4.08 Very Good
page titles, descriptions, keywords & tags, Java &
JavaScript dependency, image dependency.
4. Navigation & Links. Navigation functionality &
clarity, link integrity, quality & depth of links 4.24 Very Good
provided.
5. Legality. Original artwork, music, intellectual
property etc., international copyright laws are
correctly observed, quotations, images &
3.94 Very Good
intellectual property from 3rd parties are
appropriately cited, legal site content & legal site
activities.
6. Compliance. Adherence to standards. 4.02 Very Good
7. Security. Provision for security requirements. 3.96 Very Good
General weight mean 4.093333 Very Good
4.50 – 5.00 Excellent: 3.50 – 4.49 Very Good: 2.50 – 3.49 Good: 1.50 – 2.49 Fair: 1.00 – 1.49 Poor

Explanation of Table 11 mean

In terms of Functionality there’s breadth of browser compatibility, the respondents

graded the developed system as “ Very Good” with a weighted mean of (4.18) which
48

mean that functions are appropriate to specifications. Speed and bandwidth sensitivity the

respondents rated as “ Very Good “ with weighted mean of (4.1) which mean consider

overall are completely functioning.HTML quality rated by the respondents as “ Very

Good “ with an weighted mean of (4.08). Navigations and links functionality rated by the

respondents as “Very Good “and got a mean of (4.24). The Legality for original artwork,

music intellectual property etc, got a mean of (3.94) and a mark of “Very Good”. The

compliance that define adherence to standards recorded a mean of value of (4.02) and the

respondents gave a “Very Good” remark. In terms of security provision for security

requirements the respondent mark as “ Very Good” with a mean performance of (3.96).

As a whole, the proposed system recorded average mean of (4.09) which mean the

system is very good in terms of Functionality.


49

Table 13
Mean Distribution of Evaluation and Respondents Rating
In terms of the System’s Training and Documentation

Response
H. Training and Documentation Mean
Description
1. Availability of guides and printed documentation
3.96 Very Good
(technical or user’s manual).
2. Provision for trainings/tutorials or real interactive
3.96 Very Good
learning.
3. Provision for help component. Text should be clear
and use language correctly, with appropriate headings
and subheadings. Unfamiliar terms should be defined
3.84 Very Good
and explained. Organization should be logical. All
information should be readily accessible for
reference.
General weight mean 3.92 Very Good
4.50 – 5.00 Excellent: 3.50 – 4.49 Very Good: 2.50 – 3.49 Good: 1.50 – 2.49 Fair: 1.00 – 1.49 Poor

Explanation of Table 11 mean

The respondent rated Training and Documentation of the Tailg E-motorcycle Web base,

Transaction and Management System as” Very Good” and got average mean of (3.92).

Having the availability of guides and printed documentation got mean (3.96) and mark as

“Very Good”. The provision for training or tutorials or real interactive learning got a

mean of (3.96) and mark as “Very Good”. Documentation content is organized in logical

manner and provision for help component got a mean of (3.84) were very good. It may be

surely concluding that the application provides guides and printed documentation and all

information is readily accessible for reference.


50

Chapter V

This chapter is the summary of findings, conclusion, comprehensions based on

findings, evaluation and recommendations aimed to improve the research in the future.

Summary

The purpose of the study is to develop a tailg e-motorcycle web based management

and transaction system, an website created an designed to boost efficiency with portability.

It is derived from an Input-Process-Output or IPO conceptual model.

To accomplish its goals, the data gathered were analyzed and interpreted with the

use of an Agile Scrum model. By focusing on process adaptability, the tailg e-motorcycle

web based management and transaction system, web based allows the users to know more

about the common customer of the tailg.Beneficiaries of the web based include every user

who wants to know and read about the tailg company.

Summary of Findings

This section is an assessment of Tailg E-motorcycle web based management and

transaction system as an development sytem.In this portion , the explanations and

justifications of the project objectives are discussed.

The general objective of the study is continually developing, enhance and maintain

a fictional web based system as a replacement of the traditional registration form.

The design model used in the study was IPO (Input-Process-Output) model. The

Agile scrum model and its ability to create and respond in an uncertain environment is

critical to the success of the research.


51

Table 14

Development Tools Needed

Category Specifications

Web Platform PHP, HTML, JQuery, JavaScript, CSS,

Sublime Text, Bootstrap

Operation System Windows 7 – 10

The Tail-G E-motorcycle web based management and transaction system is

qualified of running in a windows 7 to windows 10. The system is developed use different

language of web and Xammp Server SQL,as its data based.

The specifications of the PC used in developing the application are: Windows 10

running OS, Processor AMD A8 And 8GB RAM.

Table 15

Summary of the weighted mean for TailG E-motorcycle management and transaction

system.

Criteria Respondents Weighted Description

Mean

Authority 4.12 Very Good

Purpose 3.75 Very Good

Coverage 3.71 Very Good

Currency 3.88 Very Good


52

Objectives 3.69 Very Good

Accuracy 3.97 Very Good

Functionally 4.09 Very Good

Training and Document 3.9 Very Good

Recommendations

The website is concluded to be acceptable yet some of its features can be enhanced

further. To the future researchers who will be interested in the same field of study and will

want to develop and improve the scope of this website, the following may be

recommended:

1. It is recommended for the tail-g e-motorcycle web based

management and transaction system to integrate the said

website

2. Manage the transaction monthly and past transaction in

fastest way

3. It is recommended to manage the account of the client

and have the security

4. It is recommended to put in the client side the 360 degree

view of the item.


53

APPENDICES
54

APPENDIX A
(Relevant Source Code)
55

Users Pages Source Code


Activate.php
<?php include 'includes/session.php'; ?>
<?php
$output = '';
if(!isset($_GET['code']) OR !isset($_GET['user'])){
$output .= '
<div class="alert alert-danger">
<h4><i class="icon fa fa-warning"></i> Error!</h4>
Code to activate account not found.
</div>
<h4>You may <a href="signup.php">Signup</a> or back to <a
href="index.php">Homepage</a>.</h4>
';
}
else{
$conn = $pdo->open();

$stmt = $conn->prepare("SELECT *, COUNT(*) AS numrows FROM


users WHERE activate_code=:code AND id=:id");
$stmt->execute(['code'=>$_GET['code'], 'id'=>$_GET['user']]);
$row = $stmt->fetch();

if($row['numrows'] > 0){


if($row['status']){
$output .= '
<div class="alert alert-danger">
<h4><i class="icon fa fa-warning"></i> Error!</h4>
Account already activated.
56

</div>
<h4>You may <a href="login.php">Login</a> or back to <a
href="index.php">Homepage</a>.</h4>
';
}
else{
try{
$stmt = $conn->prepare("UPDATE users SET
status=:status WHERE id=:id");
$stmt->execute(['status'=>1, 'id'=>$row['id']]);
$output .= '
<div class="alert alert-success">
<h4><i class="icon fa fa-check"></i> Success!</h4>
Account activated - Email: <b>'.$row['email'].'</b>.
</div>
<h4>You may <a href="login.php">Login</a> or back to <a
href="index.php">Homepage</a>.</h4>
';
}
catch(PDOException $e){
$output .= '
<div class="alert alert-danger">
<h4><i class="icon fa fa-warning"></i> Error!</h4>
'.$e->getMessage().'
</div>
<h4>You may <a href="signup.php">Signup</a> or back to
<a href="index.php">Homepage</a>.</h4>
';
}
57

}
else{
$output .= '
<div class="alert alert-danger">
<h4><i class="icon fa fa-warning"></i> Error!</h4>
Cannot activate account. Wrong code.
</div>
<h4>You may <a href="signup.php">Signup</a> or back to <a
href="index.php">Homepage</a>.</h4>
';
}

$pdo->close();
}
?>
<?php include 'includes/header.php'; ?>
<body class="hold-transition skin-blue layout-top-nav">
<div class="wrapper">

<?php include 'includes/navbar.php'; ?>

<div class="content-wrapper">
<div class="container">

<!-- Main content -->


<section class="content">
<div class="row">
58

<div class="col-sm-9">
<?php echo $output; ?>
</div>
<div class="col-sm-3">
<?php include 'includes/sidebar.php'; ?>
</div>
</div>
</section>

</div>
</div>

<?php include 'includes/footer.php'; ?>


</div>

<?php include 'includes/scripts.php'; ?>


</body>
</html>
59

cart_add.php
<?php
include 'includes/session.php';

$conn = $pdo->open();

$output = array('error'=>false);

$id = $_POST['id'];
$quantity = $_POST['quantity'];

if(isset($_SESSION['user'])){
$stmt = $conn->prepare("SELECT *, COUNT(*) AS numrows FROM cart
WHERE user_id=:user_id AND product_id=:product_id");
$stmt->execute(['user_id'=>$user['id'], 'product_id'=>$id]);
$row = $stmt->fetch();
if($row['numrows'] < 1){
try{
$stmt = $conn->prepare("INSERT INTO cart (user_id,
product_id, quantity) VALUES (:user_id, :product_id, :quantity)");
$stmt->execute(['user_id'=>$user['id'], 'product_id'=>$id,
'quantity'=>$quantity]);
$output['message'] = 'Item added to cart';

}
catch(PDOException $e){
$output['error'] = true;
$output['message'] = $e->getMessage();
}
60

}
else{
$output['error'] = true;
$output['message'] = 'Product already in cart';
}
}
else{
if(!isset($_SESSION['cart'])){
$_SESSION['cart'] = array();
}

$exist = array();

foreach($_SESSION['cart'] as $row){
array_push($exist, $row['productid']);
}

if(in_array($id, $exist)){
$output['error'] = true;
$output['message'] = 'Product already in cart';
}
else{
$data['productid'] = $id;
$data['quantity'] = $quantity;

if(array_push($_SESSION['cart'], $data)){
$output['message'] = 'Item added to cart';
}
61

else{
$output['error'] = true;
$output['message'] = 'Cannot add item to cart';
}
}

$pdo->close();
echo json_encode($output);

?>
62

cart_delete.php
<?php
include 'includes/session.php';

$conn = $pdo->open();

$output = array('error'=>false);
$id = $_POST['id'];

if(isset($_SESSION['user'])){
try{
$stmt = $conn->prepare("DELETE FROM cart WHERE id=:id");
$stmt->execute(['id'=>$id]);
$output['message'] = 'Deleted';

}
catch(PDOException $e){
$output['message'] = $e->getMessage();
}
}
else{
foreach($_SESSION['cart'] as $key => $row){
if($row['productid'] == $id){
unset($_SESSION['cart'][$key]);
$output['message'] = 'Deleted';
}
}
}
63

$pdo->close();
echo json_encode($output);

?>
64

cart_details.php
<?php
include 'includes/session.php';
$conn = $pdo->open();

$output = '';

if(isset($_SESSION['user'])){
if(isset($_SESSION['cart'])){
foreach($_SESSION['cart'] as $row){
$stmt = $conn->prepare("SELECT *, COUNT(*) AS
numrows FROM cart WHERE user_id=:user_id AND product_id=:product_id");
$stmt->execute(['user_id'=>$user['id'],
'product_id'=>$row['productid']]);
$crow = $stmt->fetch();
if($crow['numrows'] < 1){
$stmt = $conn->prepare("INSERT INTO cart
(user_id, product_id, quantity) VALUES (:user_id, :product_id, :quantity)");
$stmt->execute(['user_id'=>$user['id'],
'product_id'=>$row['productid'], 'quantity'=>$row['quantity']]);
}
else{
$stmt = $conn->prepare("UPDATE cart SET
quantity=:quantity WHERE user_id=:user_id AND product_id=:product_id");
$stmt->execute(['quantity'=>$row['quantity'],
'user_id'=>$user['id'], 'product_id'=>$row['productid']]);
}
}
unset($_SESSION['cart']);
}
65

try{
$total = 0;
$stmt = $conn->prepare("SELECT *, cart.id AS cartid FROM cart
LEFT JOIN products ON products.id=cart.product_id WHERE user_id=:user");
$stmt->execute(['user'=>$user['id']]);
foreach($stmt as $row){
$image = (!empty($row['photo'])) ? 'images/'.$row['photo'] :
'images/noimage.jpg';
$subtotal = $row['price']*$row['quantity'];
$total += $subtotal;
$output .= "
<tr>
<td><button type='button' data-
id='".$row['cartid']."' class='btn btn-danger btn-flat cart_delete'><i class='fa fa-
remove'></i></button></td>
<td><img src='".$image."' width='30px'
height='30px'></td>
<td>".$row['name']."</td>
<td>&#8369;
".number_format($row['price'], 2)."</td>
<td class='input-group'>
<span class='input-group-btn'>
<button type='button' id='minus' class='btn
btn-default btn-flat minus' data-id='".$row['cartid']."'><i class='fa fa-
minus'></i></button>
</span>
<input type='text' class='form-control'
value='".$row['quantity']."' id='qty_".$row['cartid']."'>
<span class='input-group-btn'>
<button type='button' id='add' class='btn btn-
default btn-flat add' data-id='".$row['cartid']."'><i class='fa fa-plus'></i>
66

</button>
</span>
</td>
<td>&#8369; ".number_format($subtotal,
2)."</td>
</tr>
";
}
$output .= "
<tr>
<td colspan='5' align='right'><b>Total</b></td>
<td><b>&#8369 ".number_format($total,
2)."</b></td>
<tr>
";

}
catch(PDOException $e){
$output .= $e->getMessage();
}

}
else{
if(count($_SESSION['cart']) != 0){
$total = 0;
foreach($_SESSION['cart'] as $row){
$stmt = $conn->prepare("SELECT *, products.name AS
prodname, category.name AS catname FROM products LEFT JOIN category ON
category.id=products.category_id WHERE products.id=:id");
$stmt->execute(['id'=>$row['productid']]);
67

$product = $stmt->fetch();
$image = (!empty($product['photo'])) ?
'images/'.$product['photo'] : 'images/noimage.jpg';
$subtotal = $product['price']*$row['quantity'];
$total += $subtotal;
$output .= "
<tr>
<td><button type='button' data-
id='".$row['productid']."' class='btn btn-danger btn-flat cart_delete'><i class='fa fa-
remove'></i></button></td>
<td><img src='".$image."' width='30px'
height='30px'></td>
<td>".$product['name']."</td>
<td>&#8369;
".number_format($product['price'], 2)."</td>
<td class='input-group'>
<span class='input-group-btn'>
<button type='button' id='minus' class='btn
btn-default btn-flat minus' data-id='".$row['productid']."'><i class='fa fa-
minus'></i></button>
</span>
<input type='text' class='form-control'
value='".$row['quantity']."' id='qty_".$row['productid']."'>
<span class='input-group-btn'>
<button type='button' id='add' class='btn btn-
default btn-flat add' data-id='".$row['productid']."'><i class='fa fa-plus'></i>
</button>
</span>
</td>
<td>&#8369; ".number_format($subtotal,
2)."</td>
</tr>
68

";

$output .= "
<tr>
<td colspan='5' align='right'><b>Total</b></td>
<td><b>&#8369; ".number_format($total,
2)."</b></td>
<tr>
";
}

else{
$output .= "
<tr>
<td colspan='6' align='center'>Shopping cart
empty</td>
<tr>
";
}

$pdo->close();
echo json_encode($output);

?>
69

cart_fetch.php
<?php
include 'includes/session.php';
$conn = $pdo->open();

$output = array('list'=>'','count'=>0);

if(isset($_SESSION['user'])){
try{
$stmt = $conn->prepare("SELECT *, products.name AS prodname,
category.name AS catname FROM cart LEFT JOIN products ON
products.id=cart.product_id LEFT JOIN category ON category.id=products.category_id
WHERE user_id=:user_id");
$stmt->execute(['user_id'=>$user['id']]);
foreach($stmt as $row){
$output['count']++;
$image = (!empty($row['photo'])) ? 'images/'.$row['photo'] :
'images/noimage.jpg';
$productname = (strlen($row['prodname']) > 30) ?
substr_replace($row['prodname'], '...', 27) : $row['prodname'];
$output['list'] .= "
<li>
<a
href='product.php?product=".$row['slug']."'>
<div class='pull-left'>
<img src='".$image."'
class='thumbnail' alt='User Image'>
</div>
<h4>
<b>".$row['catname']."</b>
<small>&times; ".$row['quantity']."</small>
70

</h4>
<p>".$productname."</p>
</a>
</li>
";
}
}
catch(PDOException $e){
$output['message'] = $e->getMessage();
}
}
else{
if(!isset($_SESSION['cart'])){
$_SESSION['cart'] = array();
}

if(empty($_SESSION['cart'])){
$output['count'] = 0;
}
else{
foreach($_SESSION['cart'] as $row){
$output['count']++;
$stmt = $conn->prepare("SELECT *, products.name AS
prodname, category.name AS catname FROM products LEFT JOIN category ON
category.id=products.category_id WHERE products.id=:id");
$stmt->execute(['id'=>$row['productid']]);
$product = $stmt->fetch();
$image = (!empty($product['photo'])) ?
'images/'.$product['photo'] : 'images/noimage.jpg';
71

$output['list'] .= "
<li>
<a
href='product.php?product=".$product['slug']."'>
<div class='pull-left'>
<img src='".$image."'
class='img-circle' alt='User Image'>
</div>
<h4>
<b>".$product['catname']."</b>
<small>&times; ".$row['quantity']."</small>
</h4>
<p>".$product['prodname']."</p>
</a>
</li>
";

}
}
}

$pdo->close();
echo json_encode($output);

?>
72

cart_total.php
<?php
include 'includes/session.php';

if(isset($_SESSION['user'])){
$conn = $pdo->open();

$stmt = $conn->prepare("SELECT * FROM cart LEFT JOIN products on


products.id=cart.product_id WHERE user_id=:user_id");
$stmt->execute(['user_id'=>$user['id']]);

$total = 0;
foreach($stmt as $row){
$subtotal = $row['price'] * $row['quantity'];
$total += $subtotal;
}

$pdo->close();

echo json_encode($total);
}
?>
73

cart_update.php
<?php
include 'includes/session.php';

$conn = $pdo->open();

$output = array('error'=>false);

$id = $_POST['id'];
$qty = $_POST['qty'];

if(isset($_SESSION['user'])){
try{
$stmt = $conn->prepare("UPDATE cart SET quantity=:quantity
WHERE id=:id");
$stmt->execute(['quantity'=>$qty, 'id'=>$id]);
$output['message'] = 'Updated';
}
catch(PDOException $e){
$output['message'] = $e->getMessage();
}
}
else{
foreach($_SESSION['cart'] as $key => $row){
if($row['productid'] == $id){
$_SESSION['cart'][$key]['quantity'] = $qty;
$output['message'] = 'Updated';
}
}
74

$pdo->close();
echo json_encode($output);

?>
75

cart_view.php
<?php include 'includes/session.php'; ?>
<?php include 'includes/header.php'; ?>
<body class="hold-transition skin-blue layout-top-nav">
<div class="wrapper">
<link rel="stylesheet" href="secondfooters.css">
<?php include 'includes/navbar.php'; ?>

<div class="content-wrapper">
<div class="container">

<!-- Main content -->


<section class="content">
<div class="row">
<div class="col-sm-9">
<h1 class="page-header">YOUR CART</h1>
<div class="box box-solid">
<div class="box-body">
<table class="table table-bordered">
<thead>
<th></th>
<th>Photo</th>
<th>Name</th>
<th>Price</th>
<th width="20%">Quantity</th>
<th>Subtotal</th>
</thead>
<tbody id="tbody">
76

</tbody>
</table>
</div>
</div>
<?php
if(isset($_SESSION['user'])){
echo "
<div id='paypal-button'></div>
";
}
else{
echo "
<h4>You need to <a
href='login.php'>Login</a> to checkout.</h4>
";
}
?>
</div>
<div class="col-sm-3">
<?php include 'includes/sidebar.php'; ?>
</div>
</div>
</section>

</div>
</div>
<?php $pdo->close(); ?>

<div id="contact">
77

<footer>
<font color="redorange"><h3> VISIT US AND TRY OUR STORE</h3></font>
<h4> HOURS</h4>
<h5> Monday 8:00am - 8:00pm </br>
Tuesday 8:00am - 8:00pm</br>
Wednesday 8:00am - 8:00pm</br>
Thursday 8:00am - 8:00pm</br>
Friday 8:00am - 8:00pm</h5>

<font color="black"><h4> CONTACT TAIL G</h4></font>


<h5>044-309-0812</br>+639364968310</br>Crossing, McArthur Highway, Malolos,
Bulacan</br>[email protected]</h5>

</div>
</footer>
<?php include 'includes/footer.php'; ?>
</div>

<?php include 'includes/scripts.php'; ?>


<script>
var total = 0;
$(function(){
$(document).on('click', '.cart_delete', function(e){
e.preventDefault();
var id = $(this).data('id');
$.ajax({
type: 'POST',
url: 'cart_delete.php',
data: {id:id},
78

dataType: 'json',
success: function(response){
if(!response.error){
getDetails();
getCart();
getTotal();
}
}
});
});

$(document).on('click', '.minus', function(e){


e.preventDefault();
var id = $(this).data('id');
var qty = $('#qty_'+id).val();
if(qty>1){
qty--;
}
$('#qty_'+id).val(qty);
$.ajax({
type: 'POST',
url: 'cart_update.php',
data: {
id: id,
qty: qty,
},
dataType: 'json',
success: function(response){
79

if(!response.error){
getDetails();
getCart();
getTotal();
}
}
});
});

$(document).on('click', '.add', function(e){


e.preventDefault();
var id = $(this).data('id');
var qty = $('#qty_'+id).val();
qty++;
$('#qty_'+id).val(qty);
$.ajax({
type: 'POST',
url: 'cart_update.php',
data: {
id: id,
qty: qty,
},
dataType: 'json',
success: function(response){
if(!response.error){
getDetails();
getCart();
getTotal();
80

}
}
});
});

getDetails();
getTotal();

});

function getDetails(){
$.ajax({
type: 'POST',
url: 'cart_details.php',
dataType: 'json',
success: function(response){
$('#tbody').html(response);
getCart();
}
});
}

function getTotal(){
$.ajax({
type: 'POST',
url: 'cart_total.php',
dataType: 'json',
success:function(response){
81

total = response;
}
});
}
</script>
<!-- Paypal Express -->
<script>
paypal.Button.render({
env: 'sandbox', // change for production if app is live,

client: {
sandbox: 'ASb1ZbVxG5ZFzCWLdYLi_d1-
k5rmSjvBZhxP2etCxBKXaJHxPba13JJD_D3dTNriRbAv3Kp_72cgDvaZ',
//production: 'AaBHKJFEej4V6yaArjzSx9cuf-
UYesQYKqynQVCdBlKuZKawDDzFyuQdidPOBSGEhWaNQnnvfzuFB9SM'
},

commit: true, // Show a 'Pay Now' button

style: {
color: 'gold',
size: 'small'
},

payment: function(data, actions) {


return actions.payment.create({
payment: {
transactions: [
{
82

//total purchase
amount: {
total: total,
currency: 'PHP'
}
}
]
}
});
},

onAuthorize: function(data, actions) {


return actions.payment.execute().then(function(payment) {
window.location = 'sales.php?pay='+payment.id;
});
},

}, '#paypal-button');
</script>
</body>
</html>
83

category.php
<?php include 'includes/session.php'; ?>
<?php
$slug = $_GET['category'];

$conn = $pdo->open();

try{
$stmt = $conn->prepare("SELECT * FROM category WHERE cat_slug =
:slug");
$stmt->execute(['slug' => $slug]);
$cat = $stmt->fetch();
$catid = $cat['id'];
}
catch(PDOException $e){
echo "There is some problem in connection: " . $e->getMessage();
}

$pdo->close();

?>
<?php include 'includes/header.php'; ?>
<head>
<link rel="icon" href="TaiLG.png"/>
</head>
<body class="hold-transition skin-blue layout-top-nav">
<div class="wrapper">
<link rel="stylesheet" href="secondfooters.css">
<?php include 'includes/navbar.php'; ?>
84

<div class="content-wrapper">
<div class="container">

<!-- Main content -->


<section class="content">
<div class="row">
<div class="col-sm-9">
<h1 class="page-header"><?php echo $cat['name']; ?></h1>
<?php

$conn = $pdo->open();

try{
$inc = 3;
$stmt = $conn->prepare("SELECT *
FROM products WHERE category_id = :catid");
$stmt->execute(['catid' => $catid]);
foreach ($stmt as $row) {
$image = (!empty($row['photo'])) ?
'images/'.$row['photo'] : 'images/noimage.jpg';
$inc = ($inc == 3) ? 1 : $inc + 1;
if($inc == 1) echo "<div
class='row'>";
echo "
<div class='col-sm-4'>
<div class='box box-
solid'><a href='product.php?product=".$row['slug']."'>".$row['name']."
<div
class='box-body prod-body'>
85

<img
src='".$image."' width='100%' height='230px' class='thumbnail'>

<h5><b>&#8369; ".number_format($row['price'], 2)."</b></h5>


</div>
</a></div>
</div>
";
if($inc == 3) echo "</div>";
}
if($inc == 1) echo "<div class='col-sm-
4'></div><div class='col-sm-4'></div></div>";
if($inc == 2) echo "<div class='col-
sm-4'></div></div>";
}
catch(PDOException $e){
echo "There is some problem in
connection: " . $e->getMessage();
}

$pdo->close();

?>
</div>
<div class="col-sm-3">
<?php include 'includes/sidebar.php'; ?>
</div>
</div>
</section>
86

</div>
<div id="contact">
<footer>
<font color="redorange"><h3> VISIT US AND TRY OUR STORE</h3></font>
<h4> HOURS</h4>
<h5> Monday 8:00am - 8:00pm </br>
Tuesday 8:00am - 8:00pm</br>
Wednesday 8:00am - 8:00pm</br>
Thursday 8:00am - 8:00pm</br>
Friday 8:00am - 8:00pm</h5>

<font color="black"><h4> CONTACT TAIL G</h4></font>


<h5>044-309-0812</br>+639364968310</br>Crossing, McArthur Highway, Malolos,
Bulacan</br>[email protected]</h5>
<!--<div id="tailgposition" >
<img src="TailG.png" id="imagesize"/>
</div>-->
</div>
</footer>
</div>

<?php include 'includes/footer.php'; ?>


</div>

<?php include 'includes/scripts.php'; ?>


</body>
</html>
87

index.php
<?php include 'includes/session.php'; ?>
<?php include 'includes/header.php'; ?>
<head>
<link rel="icon" href="TaiLG.png"/>
</head>
<body class="hold-transition skin-blue layout-top-nav">
<div class="wrapper">
<link rel="stylesheet" href="secondfooters.css">

<?php include 'includes/navbar.php'; ?>

<div class="content-wrapper">
<div class="container">

<!-- Main content -->


<section class="content">
<div class="row">
<div class="col-sm-9">
<?php
if(isset($_SESSION['error'])){
echo "
<div class='alert alert-danger'>
".$_SESSION['error']."
</div>
";
unset($_SESSION['error']);
}
88

?>
<div id="carousel-example-generic" class="carousel slide" data-
ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carousel-example-generic" data-slide-to="0"
class="active"></li>
<li data-target="#carousel-example-generic" data-slide-to="1"
class=""></li>
<li data-target="#carousel-example-generic" data-slide-to="2"
class=""></li>
</ol>
<div class="carousel-inner">
<div class="item active">
<img src="images/motor1.jpg" alt="First slide">
</div>
<div class="item">
<img src="images/motor2.jpg" alt="Second slide">
</div>
<div class="item">
<img src="images/motor3.jpg" alt="Third slide">
</div>
</div>
<a class="left carousel-control" href="#carousel-example-
generic" data-slide="prev">
<span class="fa fa-angle-left"></span>
</a>
<a class="right carousel-control" href="#carousel-example-
generic" data-slide="next">
<span class="fa fa-angle-right"></span>
</a>
89

</div>
<h2>Monthly Top Sellers</h2>
<?php
$month = date('m');
$conn = $pdo->open();

try{
$inc = 3;
$stmt = $conn->prepare("SELECT *,
SUM(quantity) AS total_qty FROM details LEFT JOIN sales ON sales.id=details.sales_id
LEFT JOIN products ON products.id=details.product_id WHERE MONTH(sales_date) =
'$month' GROUP BY details.product_id ORDER BY total_qty DESC LIMIT 6");
$stmt->execute();
foreach ($stmt as $row) {
$image = (!empty($row['photo'])) ?
'images/'.$row['photo'] : 'images/noimage.jpg';
$inc = ($inc == 3) ? 1 : $inc + 1;
if($inc == 1) echo "<div
class='row'>";
echo "
<div class='col-sm-4'>
<div class='box box-
solid'>
<div
class='box-body prod-body'>
<img
src='".$image."' width='100%' height='230px' class='thumbnail'>

<h5><a href='product.php?product=".$row['slug']."'>".$row['name']."</a></h5>
</div>
<div
class='box-footer'>
90

<b>&#8369 ".number_format($row['price'], 2)."</b>


</div>
</div>
</div>
";
if($inc == 3) echo "</div>";
}
if($inc == 1) echo "<div class='col-sm-
4'></div><div class='col-sm-4'></div></div>";
if($inc == 2) echo "<div class='col-
sm-4'></div></div>";
}
catch(PDOException $e){
echo "There is some problem in
connection: " . $e->getMessage();
}

$pdo->close();

?>
</div>
<div class="col-sm-3">
<?php include 'includes/sidebar.php'; ?>
</div>
</div>
</section>

</div>
</div>
91

<div id="contact">
<footer>
<font color="redorange"><h3> VISIT US AND TRY OUR STORE</h3></font>
<h4> HOURS</h4>
<h5> Monday 8:00am - 8:00pm </br>
Tuesday 8:00am - 8:00pm</br>
Wednesday 8:00am - 8:00pm</br>
Thursday 8:00am - 8:00pm</br>
Friday 8:00am - 8:00pm</h5>

<font color="black"><h4> CONTACT TAIL G</h4></font>


<h5>044-309-0812</br>+639364968310</br>Crossing, McArthur Highway, Malolos,
Bulacan</br>[email protected]</h5>
</div>
</footer>
</div>
<?php include 'includes/footer.php'; ?>
</div>

<?php include 'includes/scripts.php'; ?>

</body>
</html>
92

login.php
<?php include 'includes/session.php'; ?>
<?php
if(isset($_SESSION['user'])){
header('location: cart_view.php');
}
?>
<?php include 'includes/header.php'; ?>
<head>
<link rel="icon" href="TaiLG.png"/>
</head>
<body class="hold-transition login-page">
<div class="login-box">
<?php
if(isset($_SESSION['error'])){
echo "
<div class='callout callout-danger text-center'>
<p>".$_SESSION['error']."</p>
</div>
";
unset($_SESSION['error']);
}
if(isset($_SESSION['success'])){
echo "
<div class='callout callout-success text-center'>
<p>".$_SESSION['success']."</p>
</div>
";
93

unset($_SESSION['success']);
}
?>
<div class="login-box-body">
<p class="login-box-msg">Sign in to start your session</p>

<form action="verify.php" method="POST">


<div class="form-group has-feedback">
<input type="email" class="form-control" name="email"
placeholder="Email" required>
<span class="glyphicon glyphicon-envelope form-control-
feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" class="form-control" name="password"
placeholder="Password" required>
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="row">
<div class="col-xs-4">
<button type="submit" class="btn btn-primary btn-flat"
name="login"><i class="fa fa-sign-in"></i> Sign In</button>
</div>
</div>
</form>
<br>
<center>
<a href="password_forgot.php">I forgot my password</a><br>
<a href="signup.php" class="text-center">Register a new membership</a><br>
<a href="index.php"><i class="fa fa-home"></i> Home</a>
94

</center>
</div>
</div>

<?php include 'includes/scripts.php' ?>


</body>
</html>
95

logout.php
<?php
session_start();
session_destroy();

header('location: index.php');
?>

password_forgot.php
<?php include 'includes/session.php'; ?>
<?php include 'includes/header.php'; ?>
<body class="hold-transition login-page">
<div class="login-box">
<?php
if(isset($_SESSION['error'])){
echo "
<div class='callout callout-danger text-center'>
<p>".$_SESSION['error']."</p>
</div>
";
unset($_SESSION['error']);
}
if(isset($_SESSION['success'])){
echo "
<div class='callout callout-success text-center'>
<p>".$_SESSION['success']."</p>
</div>
";
96

unset($_SESSION['success']);
}
?>
<div class="login-box-body">
<p class="login-box-msg">Enter email associated with account</p>

<form action="reset.php" method="POST">


<div class="form-group has-feedback">
<input type="email" class="form-control" name="email"
placeholder="Email" required>
<span class="glyphicon glyphicon-envelope form-control-
feedback"></span>
</div>
<div class="row">
<div class="col-xs-4">
<button type="submit" class="btn btn-primary btn-block btn-flat"
name="reset"><i class="fa fa-mail-forward"></i> Send</button>
</div>
</div>
</form>
<br>
<a href="login.php">I rememberd my password</a><br>
<a href="index.php"><i class="fa fa-home"></i> Home</a>
</div>
</div>

<?php include 'includes/scripts.php' ?>


</body>
</html>
97

password_new.php
<?php
include 'includes/session.php';

if(!isset($_GET['code']) OR !isset($_GET['user'])){
header('location: index.php');
exit();
}

$path = 'password_reset.php?code='.$_GET['code'].'&user='.$_GET['user'];

if(isset($_POST['reset'])){
$password = $_POST['password'];
$repassword = $_POST['repassword'];

if($password != $repassword){
$_SESSION['error'] = 'Passwords did not match';
header('location: '.$path);
}
else{
$conn = $pdo->open();

$stmt = $conn->prepare("SELECT *, COUNT(*) AS numrows


FROM users WHERE reset_code=:code AND id=:id");
$stmt->execute(['code'=>$_GET['code'], 'id'=>$_GET['user']]);
$row = $stmt->fetch();

if($row['numrows'] > 0){


98

$password = password_hash($password,
PASSWORD_DEFAULT);

try{
$stmt = $conn->prepare("UPDATE users SET
password=:password WHERE id=:id");
$stmt->execute(['password'=>$password,
'id'=>$row['id']]);

$_SESSION['success'] = 'Password successfully


reset';
header('location: login.php');
}
catch(PDOException $e){
$_SESSION['error'] = $e->getMessage();
header('location: '.$path);
}
}
else{
$_SESSION['error'] = 'Code did not match with user';
header('location: '.$path);
}

$pdo->close();
}

}
else{
$_SESSION['error'] = 'Input new password first';
header('location: '.$path);
99

?>

password_reset.php
<?php include 'includes/session.php'; ?>
<?php
if(!isset($_GET['code']) OR !isset($_GET['user'])){
header('location: index.php');
exit();
}
?>
<?php include 'includes/header.php'; ?>
<body class="hold-transition login-page">
<div class="login-box">
<?php
if(isset($_SESSION['error'])){
echo "
<div class='callout callout-danger text-center'>
<p>".$_SESSION['error']."</p>
</div>
";
unset($_SESSION['error']);
}
?>
<div class="login-box-body">
<p class="login-box-msg">Enter new password</p>
100

<form action="password_new.php?code=<?php echo $_GET['code'];


?>&user=<?php echo $_GET['user']; ?>" method="POST">
<div class="form-group has-feedback">
<input type="password" class="form-control" name="password"
placeholder="New password" required>
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" class="form-control" name="repassword"
placeholder="Re-type password" required>
<span class="glyphicon glyphicon-log-in form-control-feedback"></span>
</div>
<div class="row">
<div class="col-xs-4">
<button type="submit" class="btn btn-primary btn-block btn-flat"
name="reset"><i class="fa fa-check-square-o"></i> Reset</button>
</div>
</div>
</form>
</div>
</div>

<?php include 'includes/scripts.php' ?>


</body>
</html>
101

product.php
<?php include 'includes/session.php'; ?>
<?php
$conn = $pdo->open();

$slug = $_GET['product'];

try{

$stmt = $conn->prepare("SELECT *, products.name AS prodname,


category.name AS catname, products.id AS prodid FROM products LEFT JOIN category
ON category.id=products.category_id WHERE slug = :slug");
$stmt->execute(['slug' => $slug]);
$product = $stmt->fetch();

}
catch(PDOException $e){
echo "There is some problem in connection: " . $e->getMessage();
}

//page view
$now = date('Y-m-d');
if($product['date_view'] == $now){
$stmt = $conn->prepare("UPDATE products SET counter=counter+1
WHERE id=:id");
$stmt->execute(['id'=>$product['prodid']]);
}
else{
$stmt = $conn->prepare("UPDATE products SET counter=1,
date_view=:now WHERE id=:id");
102

$stmt->execute(['id'=>$product['prodid'], 'now'=>$now]);
}

?>
<?php include 'includes/header.php'; ?>
<body class="hold-transition skin-blue layout-top-nav">
<script>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.12';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div class="wrapper">

<?php include 'includes/navbar.php'; ?>

<div class="content-wrapper">
<div class="container">

<!-- Main content -->


<section class="content">
<div class="row">
<div class="col-sm-9">
<div class="callout" id="callout" style="display:none">
103

<button type="button" class="close"><span aria-


hidden="true">&times;</span></button>
<span class="message"></span>
</div>
<div class="row">
<div class="col-sm-6">
<a href="#360View" data-toggle="modal"> <img
src="<?php echo (!empty($product['photo'])) ? 'images/'.$product['photo'] :
'images/noimage.jpg'; ?>" width="100%" ></a>
<br><br>
<form class="form-inline" id="productForm">
<div class="form-group">
<div class="input-group col-sm-5">

<span class="input-group-
btn">
<button type="button"
id="minus" class="btn btn-default btn-flat btn-lg"><i class="fa fa-minus"></i></button>
</span>
<input type="text"
name="quantity" id="quantity" class="form-control input-lg" value="1">
<span class="input-group-
btn">
<button type="button"
id="add" class="btn btn-default btn-flat btn-lg"><i class="fa fa-plus"></i>
</button>
</span>
<input type="hidden"
value="<?php echo $product['prodid']; ?>" name="id">
</div>
<button type="submit" class="btn
btn-primary btn-lg btn-flat"><i class="fa fa-shopping-cart"></i> Add to Cart</button>
104

</div>
</form>
</div>
<div class="col-sm-6">
<h1 class="page-header"><?php echo
$product['prodname']; ?></h1>
<h3><b>&#8369; <?php echo
number_format($product['price'], 2); ?></b></h3>
<p><b>Category:</b> <a
href="category.php?category=<?php echo $product['cat_slug']; ?>"><?php echo
$product['catname']; ?></a></p>
<p><b>Description:</b></p>
<p><?php echo $product['description']; ?></p>
</div>
</div>
<br>
<div class="fb-comments" data-
href="http://localhost/CapstoneProject2/product.php?product=<?php echo $slug; ?>"
data-numposts="10" width="100%"></div>
</div>
<div class="col-sm-3">
<?php include 'includes/sidebar.php'; ?>
</div>
</div>
</section>

</div>
</div>
<?php $pdo->close(); ?>
<?php include 'includes/footer.php'; ?>
105

<!--360 View -->


<div class="modal fade" id="360View">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title"><b>360 View</b></h4>
</div>
<div class="modal-body">
<?php
$slug = $_GET['product'];
?>
<center><a class="Magic360" data-options="magic360-trial/images: <?php
echo"$slug";?>-{col}.jpg;"><img src="magic360-trial/images/<?php echo"$slug";?>-01-
01.jpg" /></a></center>
</div>
</div>
</div>
</div>

<!-- -->

</div>

<?php include 'includes/scripts.php'; ?>


<script>
$(function(){
106

$('#add').click(function(e){
e.preventDefault();
var quantity = $('#quantity').val();
quantity++;
$('#quantity').val(quantity);
});
$('#minus').click(function(e){
e.preventDefault();
var quantity = $('#quantity').val();
if(quantity > 1){
quantity--;
}
$('#quantity').val(quantity);
});

});
</script>
</body>
</html>
107

profile.php
<?php include 'includes/session.php'; ?>
<?php
if(!isset($_SESSION['user'])){
header('location: index.php');
}
?>
<?php include 'includes/header.php'; ?>
<body class="hold-transition skin-blue layout-top-nav">
<div class="wrapper">

<?php include 'includes/navbar.php'; ?>

<div class="content-wrapper">
<div class="container">

<!-- Main content -->


<section class="content">
<div class="row">
<div class="col-sm-9">
<?php
if(isset($_SESSION['error'])){
echo "
<div class='callout callout-danger'>
".$_SESSION['error']."
</div>
";
unset($_SESSION['error']);
108

if(isset($_SESSION['success'])){
echo "
<div class='callout callout-success'>
".$_SESSION['success']."
</div>
";
unset($_SESSION['success']);
}
?>
<div class="box box-solid">
<div class="box-body">
<div class="col-sm-3">
<img src="<?php echo
(!empty($user['photo'])) ? 'images/'.$user['photo'] : 'images/profile.jpg'; ?>"
width="100%">
</div>
<div class="col-sm-9">
<div class="row">
<div class="col-sm-3">
<h4>Name:</h4>
<h4>Email:</h4>
<h4>Contact Info:</h4>
<h4>Address:</h4>
<h4>Member Since:</h4>
</div>
<div class="col-sm-9">
109

<h4><?php echo
$user['firstname'].' '.$user['lastname']; ?>
<span class="pull-
right">
<a
href="#edit" class="btn btn-success btn-flat btn-sm" data-toggle="modal"><i class="fa fa-
edit"></i> Edit</a>
</span>
</h4>
<h4><?php echo
$user['email']; ?></h4>
<h4><?php echo
(!empty($user['contact_info'])) ? $user['contact_info'] : 'N/a'; ?></h4>
<h4><?php echo
(!empty($user['address'])) ? $user['address'] : 'N/a'; ?></h4>
<h4><?php echo date('M d,
Y', strtotime($user['created_on'])); ?></h4>
</div>
</div>
</div>
</div>
</div>
<div class="box box-solid">
<div class="box-header with-border">
<h4 class="box-title"><i class="fa fa-
calendar"></i> <b>Transaction History</b></h4>
</div>
<div class="box-body">
<table class="table table-bordered" id="example1">
<thead>
<th class="hidden"></th>
110

<th>Date</th>
<th>Transaction#</th>
<th>Amount</th>
<th>Full Details</th>
</thead>
<tbody>
<?php
$conn = $pdo->open();

try{
$stmt = $conn-
>prepare("SELECT * FROM sales WHERE user_id=:user_id ORDER BY sales_date
DESC");
$stmt-
>execute(['user_id'=>$user['id']]);
foreach($stmt as $row){
$stmt2 = $conn-
>prepare("SELECT * FROM details LEFT JOIN products ON
products.id=details.product_id WHERE sales_id=:id");
$stmt2-
>execute(['id'=>$row['id']]);
$total = 0;
foreach($stmt2 as
$row2){
$subtotal =
$row2['price']*$row2['quantity'];
$total +=
$subtotal;
}
echo "
<tr>
111

<td
class='hidden'></td>

<td>".date('M d, Y', strtotime($row['sales_date']))."</td>

<td>".$row['pay_id']."</td>

<td>&#8369; ".number_format($total, 2)."</td>

<td><button class='btn btn-sm btn-flat btn-info transact' data-id='".$row['id']."'><i


class='fa fa-search'></i> View</button></td>
</tr>
";
}

}
catch(PDOException $e){
echo "There is
some problem in connection: " . $e->getMessage();
}

$pdo->close();
?>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-sm-3">
<?php include 'includes/sidebar.php'; ?>
</div>
112

</div>
</section>

</div>
</div>

<?php include 'includes/footer.php'; ?>


<?php include 'includes/profile_modal.php'; ?>
</div>

<?php include 'includes/scripts.php'; ?>


<script>
$(function(){
$(document).on('click', '.transact', function(e){
e.preventDefault();
$('#transaction').modal('show');
var id = $(this).data('id');
$.ajax({
type: 'POST',
url: 'transaction.php',
data: {id:id},
dataType: 'json',
success:function(response){
$('#date').html(response.date);
$('#transid').html(response.transaction);
$('#detail').prepend(response.list);
$('#total').html(response.total);
}
113

});
});

$("#transaction").on("hidden.bs.modal", function () {
$('.prepend_items').remove();
});
});
</script>
</body>
</html>

profile_edit.php
<?php
include 'includes/session.php';

$conn = $pdo->open();

if(isset($_POST['edit'])){
$curr_password = $_POST['curr_password'];
$email = $_POST['email'];
$password = $_POST['password'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$contact = $_POST['contact'];
$address = $_POST['address'];
$photo = $_FILES['photo']['name'];
if(password_verify($curr_password, $user['password'])){
if(!empty($photo)){
114

move_uploaded_file($_FILES['photo']['tmp_name'],
'images/'.$photo);
$filename = $photo;
}
else{
$filename = $user['photo'];
}

if($password == $user['password']){
$password = $user['password'];
}
else{
$password = password_hash($password,
PASSWORD_DEFAULT);
}

try{
$stmt = $conn->prepare("UPDATE users SET
email=:email, password=:password, firstname=:firstname, lastname=:lastname,
contact_info=:contact, address=:address, photo=:photo WHERE id=:id");
$stmt->execute(['email'=>$email, 'password'=>$password,
'firstname'=>$firstname, 'lastname'=>$lastname, 'contact'=>$contact, 'address'=>$address,
'photo'=>$filename, 'id'=>$user['id']]);

$_SESSION['success'] = 'Account updated successfully';


}
catch(PDOException $e){
$_SESSION['error'] = $e->getMessage();
}
115

}
else{
$_SESSION['error'] = 'Incorrect password';
}
}
else{
$_SESSION['error'] = 'Fill up edit form first';
}

$pdo->close();

header('location: profile.php');

?>

register.php
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

include 'includes/session.php';

if(isset($_POST['signup'])){
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$password = $_POST['password'];
$repassword = $_POST['repassword'];
116

$_SESSION['firstname'] = $firstname;
$_SESSION['lastname'] = $lastname;
$_SESSION['email'] = $email;

if(!isset($_SESSION['captcha'])){
require('recaptcha/src/autoload.php');
$recaptcha = new
\ReCaptcha\ReCaptcha('6LevO1IUAAAAAFCCiOHERRXjh3VrHa5oywciMKcw', new
\ReCaptcha\RequestMethod\SocketPost());
$resp = $recaptcha->verify($_POST['g-recaptcha-response'],
$_SERVER['REMOTE_ADDR']);

if (!$resp->isSuccess()){
$_SESSION['error'] = 'Please answer recaptcha correctly';
header('location: signup.php');
exit();
}
else{
$_SESSION['captcha'] = time() + (10*60);
}

if($password != $repassword){
$_SESSION['error'] = 'Passwords did not match';
header('location: signup.php');
}
else{
117

$conn = $pdo->open();

$stmt = $conn->prepare("SELECT COUNT(*) AS numrows


FROM users WHERE email=:email");
$stmt->execute(['email'=>$email]);
$row = $stmt->fetch();
if($row['numrows'] > 0){
$_SESSION['error'] = 'Email already taken';
header('location: signup.php');
}
else{
$now = date('Y-m-d');
$password = password_hash($password,
PASSWORD_DEFAULT);

//generate code

$set='123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU
VWXYZ';
$code=substr(str_shuffle($set), 0, 12);

try{
$stmt = $conn->prepare("INSERT INTO users
(email, password, firstname, lastname, activate_code, created_on) VALUES (:email,
:password, :firstname, :lastname, :code, :now)");
$stmt->execute(['email'=>$email,
'password'=>$password, 'firstname'=>$firstname, 'lastname'=>$lastname, 'code'=>$code,
'now'=>$now]);
$userid = $conn->lastInsertId();

$message = "
118

<h2>Thank you for Registering.</h2>


<p>Your Account:</p>
<p>Email: ".$email."</p>
<p>Password: ".$_POST['password']."</p>
<p>Please click the link below to activate
your account.</p>
<a
href='http://localhost/ecommerce/activate.php?code=".$code."&user=".$userid."'>Activat
e Account</a>
";

//Load phpmailer
require 'vendor/autoload.php';

$mail = new PHPMailer(true);


try {
//Server settings
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'mysourcepass';
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
119

$mail->SMTPSecure = 'ssl';
$mail->Port = 465;

$mail->setFrom('[email protected]');

//Recipients
$mail->addAddress($email);
$mail->addReplyTo('[email protected]');

//Content
$mail->isHTML(true);
$mail->Subject = 'ECommerce Site Sign Up';
$mail->Body = $message;

$mail->send();

unset($_SESSION['firstname']);
unset($_SESSION['lastname']);
unset($_SESSION['email']);

$_SESSION['success'] = 'Account created. Check your


email to activate.';
header('location: signup.php');

}
catch (Exception $e) {
$_SESSION['error'] = 'Message could not be sent.
Mailer Error: '.$mail->ErrorInfo;
header('location: signup.php');
120

}
catch(PDOException $e){
$_SESSION['error'] = $e->getMessage();
header('location: register.php');
}

$pdo->close();

}
else{
$_SESSION['error'] = 'Fill up signup form first';
header('location: signup.php');
}

?>

reset.php
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
121

include 'includes/session.php';

if(isset($_POST['reset'])){
$email = $_POST['email'];

$conn = $pdo->open();

$stmt = $conn->prepare("SELECT *, COUNT(*) AS numrows FROM


users WHERE email=:email");
$stmt->execute(['email'=>$email]);
$row = $stmt->fetch();

if($row['numrows'] > 0){


//generate code

$set='123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU
VWXYZ';
$code=substr(str_shuffle($set), 0, 15);
try{
$stmt = $conn->prepare("UPDATE users SET
reset_code=:code WHERE id=:id");
$stmt->execute(['code'=>$code, 'id'=>$row['id']]);

$message = "
<h2>Password Reset</h2>
<p>Your Account:</p>
<p>Email: ".$email."</p>
<p>Please click the link below to reset your
password.</p>
122

<a
href='http://localhost/ecommerce/password_reset.php?code=".$code."&user=".$row['id'].
"'>Reset Password</a>
";

//Load phpmailer
require 'vendor/autoload.php';

$mail = new PHPMailer(true);


try {
//Server settings
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'mysourcepass';
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;

$mail->setFrom('[email protected]');

//Recipients
123

$mail->addAddress($email);
$mail->addReplyTo('[email protected]');

//Content
$mail->isHTML(true);
$mail->Subject = 'ECommerce Site Password Reset';
$mail->Body = $message;

$mail->send();

$_SESSION['success'] = 'Password reset link sent';

}
catch (Exception $e) {
$_SESSION['error'] = 'Message could not be sent. Mailer
Error: '.$mail->ErrorInfo;
}
}
catch(PDOException $e){
$_SESSION['error'] = $e->getMessage();
}
}
else{
$_SESSION['error'] = 'Email not found';
}

$pdo->close();

}
124

else{
$_SESSION['error'] = 'Input email associated with account';
}

header('location: password_forgot.php');

?>
125

sales.php
<?php
include 'includes/session.php';

if(isset($_GET['pay'])){
$payid = $_GET['pay'];
$date = date('Y-m-d');

$conn = $pdo->open();

try{

$stmt = $conn->prepare("INSERT INTO sales (user_id, pay_id,


sales_date) VALUES (:user_id, :pay_id, :sales_date)");
$stmt->execute(['user_id'=>$user['id'], 'pay_id'=>$payid,
'sales_date'=>$date]);
$salesid = $conn->lastInsertId();

try{
$stmt = $conn->prepare("SELECT * FROM cart LEFT
JOIN products ON products.id=cart.product_id WHERE user_id=:user_id");
$stmt->execute(['user_id'=>$user['id']]);

foreach($stmt as $row){
$stmt = $conn->prepare("INSERT INTO details
(sales_id, product_id, quantity) VALUES (:sales_id, :product_id, :quantity)");
$stmt->execute(['sales_id'=>$salesid,
'product_id'=>$row['product_id'], 'quantity'=>$row['quantity']]);
}
126

$stmt = $conn->prepare("DELETE FROM cart WHERE


user_id=:user_id");
$stmt->execute(['user_id'=>$user['id']]);

$_SESSION['success'] = 'Transaction successful. Thank


you.';

}
catch(PDOException $e){
$_SESSION['error'] = $e->getMessage();
}

}
catch(PDOException $e){
$_SESSION['error'] = $e->getMessage();
}

$pdo->close();
}

header('location: profile.php');

?>
127

search.php
<?php include 'includes/session.php'; ?>
<?php include 'includes/header.php'; ?>
<body class="hold-transition skin-blue layout-top-nav">
<div class="wrapper">

<?php include 'includes/navbar.php'; ?>

<div class="content-wrapper">
<div class="container">

<!-- Main content -->


<section class="content">
<div class="row">
<div class="col-sm-9">
<?php

$conn = $pdo->open();

$stmt = $conn->prepare("SELECT COUNT(*) AS


numrows FROM products WHERE name LIKE :keyword");
$stmt->execute(['keyword' =>
'%'.$_POST['keyword'].'%']);
$row = $stmt->fetch();
if($row['numrows'] < 1){
echo '<h1 class="page-header">No results found for
<i>'.$_POST['keyword'].'</i></h1>';
}
else{
128

echo '<h1 class="page-header">Search results for


<i>'.$_POST['keyword'].'</i></h1>';
try{
$inc = 3;
$stmt = $conn->prepare("SELECT *
FROM products WHERE name LIKE :keyword");
$stmt->execute(['keyword' =>
'%'.$_POST['keyword'].'%']);

foreach ($stmt as $row) {


$highlighted = preg_filter('/' .
preg_quote($_POST['keyword'], '/') . '/i', '<b>$0</b>', $row['name']);
$image = (!empty($row['photo'])) ?
'images/'.$row['photo'] : 'images/noimage.jpg';
$inc = ($inc == 3) ? 1 : $inc + 1;
if($inc == 1) echo "<div
class='row'>";
echo "
<div class='col-sm-4'>
<div class='box box-
solid'>
<div
class='box-body prod-body'>
<img
src='".$image."' width='100%' height='230px' class='thumbnail'>

<h5><a href='product.php?product=".$row['slug']."'>".$highlighted."</a></h5>
</div>
<div
class='box-footer'>

<b>&#36; ".number_format($row['price'], 2)."</b>


129

</div>
</div>
</div>
";
if($inc == 3) echo "</div>";
}
if($inc == 1) echo "<div class='col-sm-
4'></div><div class='col-sm-4'></div></div>";
if($inc == 2) echo "<div class='col-
sm-4'></div></div>";

}
catch(PDOException $e){
echo "There is some problem in
connection: " . $e->getMessage();
}
}

$pdo->close();

?>
</div>
<div class="col-sm-3">
<?php include 'includes/sidebar.php'; ?>
</div>
</div>
</section>

</div>
130

</div>

<?php include 'includes/footer.php'; ?>


</div>

<?php include 'includes/scripts.php'; ?>


</body>
</html>

signup.php
<?php include 'includes/session.php'; ?>
<?php
if(isset($_SESSION['user'])){
header('location: cart_view.php');
}

if(isset($_SESSION['captcha'])){
$now = time();
if($now >= $_SESSION['captcha']){
unset($_SESSION['captcha']);
}
}

?>
<?php include 'includes/header.php'; ?>
<head>
<link rel="icon" href="TaiLG.png"/>
</head>
131

<body class="hold-transition register-page">


<div class="register-box">
<?php
if(isset($_SESSION['error'])){
echo "
<div class='callout callout-danger text-center'>
<p>".$_SESSION['error']."</p>
</div>
";
unset($_SESSION['error']);
}

if(isset($_SESSION['success'])){
echo "
<div class='callout callout-success text-center'>
<p>".$_SESSION['success']."</p>
</div>
";
unset($_SESSION['success']);
}
?>
<div class="register-box-body">
<p class="login-box-msg">Register a new membership</p>

<form action="register.php" method="POST">


<div class="form-group has-feedback">
<input type="text" class="form-control" name="firstname"
placeholder="Firstname" value="<?php echo (isset($_SESSION['firstname'])) ?
$_SESSION['firstname'] : '' ?>" required>
132

<span class="glyphicon glyphicon-user form-control-feedback"></span>


</div>
<div class="form-group has-feedback">
<input type="text" class="form-control" name="lastname"
placeholder="Lastname" value="<?php echo (isset($_SESSION['lastname'])) ?
$_SESSION['lastname'] : '' ?>" required>
<span class="glyphicon glyphicon-user form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="email" class="form-control" name="email"
placeholder="Email" value="<?php echo (isset($_SESSION['email'])) ?
$_SESSION['email'] : '' ?>" required>
<span class="glyphicon glyphicon-envelope form-control-
feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" class="form-control" name="password"
placeholder="Password" required>
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" class="form-control" name="repassword"
placeholder="Retype password" required>
<span class="glyphicon glyphicon-log-in form-control-feedback"></span>
</div>
<?php
if(!isset($_SESSION['captcha'])){
echo '
<di class="form-group" style="width:100%;">
<div class="g-recaptcha" data-
sitekey="6LevO1IUAAAAAFX5PpmtEoCxwae-I8cCQrbhTfM6"></div>
133

</di>
';
}
?>
<hr>
<div class="row">
<div class="col-xs-4">
<button type="submit" class="btn btn-primary btn-block btn-flat"
name="signup"><i class="fa fa-pencil"></i> Sign Up</button>
</div>
</div>
</form>
<br>
<a href="login.php">I already have a membership</a><br>
<a href="index.php"><i class="fa fa-home"></i> Home</a>
</div>
</div>

<?php include 'includes/scripts.php' ?>


</body>
</html>
134

transaction.php
<?php
include 'includes/session.php';

$id = $_POST['id'];

$conn = $pdo->open();

$output = array('list'=>'');

$stmt = $conn->prepare("SELECT * FROM details LEFT JOIN products ON


products.id=details.product_id LEFT JOIN sales ON sales.id=details.sales_id WHERE
details.sales_id=:id");
$stmt->execute(['id'=>$id]);

$total = 0;
foreach($stmt as $row){
$output['transaction'] = $row['pay_id'];
$output['date'] = date('M d, Y', strtotime($row['sales_date']));
$subtotal = $row['price']*$row['quantity'];
$total += $subtotal;
$output['list'] .= "
<tr class='prepend_items'>
<td>".$row['name']."</td>
<td>Php ".number_format($row['price'], 2)."</td>
<td>".$row['quantity']."</td>
<td>Php ".number_format($subtotal, 2)."</td>
</tr>
";
135

$output['total'] = '<b>Php '.number_format($total, 2).'<b>';


$pdo->close();
echo json_encode($output);

?>

verify.php
<?php
include 'includes/session.php';
$conn = $pdo->open();

if(isset($_POST['login'])){

$email = $_POST['email'];
$password = $_POST['password'];

try{

$stmt = $conn->prepare("SELECT *, COUNT(*) AS numrows


FROM users WHERE email = :email");
$stmt->execute(['email'=>$email]);
$row = $stmt->fetch();
if($row['numrows'] > 0){
if($row['status']){
if(password_verify($password, $row['password'])){
if($row['type']){
$_SESSION['admin'] = $row['id'];
136

}
else{
$_SESSION['user'] = $row['id'];
}
}
else{
$_SESSION['error'] = 'Incorrect Password';
}
}
else{
$_SESSION['error'] = 'Account not activated.';
}
}
else{
$_SESSION['error'] = 'Email not found';
}
}
catch(PDOException $e){
echo "There is some problem in connection: " . $e->getMessage();
}

}
else{
$_SESSION['error'] = 'Input login credentails first';
}
$pdo->close();
header('location: login.php');
?>
137

APPENDIX B
(User Manual)
138

APPENDIX C
(Evaluation Tool)
139

EVALUATION CRITERIA FOR WEBSITES

Name: _________________________________________ Date: _____________

Please evaluate the instrument by using the given scale and placing a checkmark () under
the corresponding rating.

Rating Description
5 Excellent
4 Very Good
3 Good
2 Fair
1 Poor
INDICATORS 5 4 3 2 1
A. Authority. This element reveals that the person, intuition or
agency responsible for a site has qualifications and knowledge
to do so.
1. Authorship: Is it clear who developed the site?
2. Is contact information clearly provided: e-mail address,
snail mail address, phone number, and fax number?
3. Credentials: Did the author state qualifications,
credentials, or personal background that gives them
authority to present information?
4. Is the site supported by an organization or a commercial
body?
B. Purpose. The purpose of the information presented in the site
should be clear. Some sites are meant to inform, persuade, state
an opinion, entertain, or parody something or someone.
1. Does the content support the purpose of the site?
2. Is the information geared to a specific audience (students,
scholar, general reader)?
3. Is the site organized and focused?
4. Are the outside links appropriate for the site?
5. Does the site evaluate the links?
6. Check the domain of the site. The URL may indicate its
purpose.
140

C. Coverage. It is difficult to assess the extent of coverage since


depth in a site, through the use of links, can be infinite. One
author may claim comprehensive coverage of a topic while
another may cover just one aspect of a topic.
1. Are the topics explored in depth?
2. Compare the value if the site's information compared to
other similar sites.
3. Do the links go to outside sites rather than its own?
4. Does the site provide information with no relevant outside
links?
5. Are the links (if any) evaluated and do they complement
the documents' theme?
6. Is it all images or a balance of text and images?
7. Is the Information presented cited correctly?
8. If page requires special software to view the information,
how much are you missing if you don't have the software?
9. Is it free or is there a free to obtain the information?
10. Is there an option for text only, or frames, or a suggested
browser for better viewing?
D. Currency. This is referring to:1) how current the
information presented is, and 2) how often the site is updated or
maintained. It is important to know when a site was created,
when it was last updated, and if all of the links are current
1. Links are up-to-date
2. Links provided should be reliable. Dead links or
references to sites that have moved are not useful.
3. Information provided so trend related that is usefulness is
limited to a certain time period?
4. Has the site been under construction for some time?
E. Objectivity of the site should be clear. Beware of sites that
contains bias or do not admit its bias freely. Objective sites
present information with a minimum of bias.
1. Is the information presented with a particular bias?
2. Does the information try to sway the audience?

3. Does site advertising conflict with the content?


4. Is the site trying to explain, information, persuade,
or sell something?
F. Accuracy. There are few standards to verify the accuracy of
information on the web. It is the responsibility of the reader to
assess the information presented.
5. Reliability: Is the author affiliated with a known,
respectable institution?
141

6. References: do statistics and other factual


information receive proper references as to their origin?
7. Does the reading you have already done on the
subject make information seem accurate?
8. Is the Information comparable to other sites on the
same topic?
9.Does the text follow the basic rules of grammar,
spelling and composition?
10.Is the bibliography or reference list included?
G. Functionality
1. Accessibility. Is there breadth of browser
compatibility? A minimum and maximum monitor resolution? Is
there is an appeal to universal audience - multilingual translations,
cultural sensitivity, disability access and services?
2. Speed and Bandwidth Sensitivity. Consider overall
page sizes and complexity, average download times, download
order and image redraws; wait to first reaction/interaction times.
3. HTML Quality. Artwork Clean HTML with no
faculty code, workability of active x, rollovers, applets etc., page
titles, description, keywords and tags, Java and JavaScript
dependency, image dependency.
4. Navigation and Links. Navigation functionality and
clarity, link integrity, quality and depth of links provided.
5.Legality. Original artwork, music, intellectual
property etc., international copyright laws are correctly observed,
quotations, images and intellectual property from 3rd parties are
appropriately cited, legal site content and legal site activities.
6. Compliance. Adherence to standards.
7.Security. Provision for security requirements.
H. Training and Documentation
1. Availability of guides and printed documentation
(technical or user's manual).
2. Provision for trainings/tutorials or real interactive
learning.
3. Provision for help component Text should be clear
and use language correctly, with appropriate headings and
subheadings. Unfamiliar terms should be defined and explained.
Organization should be logical. All information should be readily
accessible for reference.

Comment/Suggestion: _____________________________________________________
________________________________________________________________________
________________________________________________________________________
142

APPENDICX D
(Curriculum Vitae)
143

REY FRANCIS M. HERNANDEZ


032 Talabahan St. Barangay Bagna
Malolos City, Bulacan
Mobile No: 0955-1801-248
Email Address: [email protected]

CAREER OBJECTIVES:

 To work in learning and challenging environment, utilizing my skill and knowledge to


be the best of my abilities and contribute positively to my personal growth as well as
growth of the organization.
 To increase my knowledge, experience, aptitudes and capacities within in BarCie,
in order to grow as a better person.

PERSONAL DATA:

Sex : Male
Present Address : 032 Talabahan St. Barangay Bagna. Malolos City, Bulacan
Date of Birth : December 03, 1997
Place of Birth : Bulacan
Nationality : Filipino
Civil Status : Single
Religion : Roman Catholic
Language Spoken : Filipino and English

EDUCATIONAL BACKGROUND:

Tertiary Bulacan State University


Associate in Computer Technology
City of Malolos, Bulacan
2016 - 2018
Bulacan State University
Bachelor of Science in Information Technology
City of Malolos, Bulacan
2018 - Present

Secondary Marcelo H. Delpilar National High School


Bagong Bayan, Bulacan
2010 - 2014

Primary Central Elementary School


City of Malolos, Bulacan
2003 - 2010
144

SKILLS

Technical Skills

 Knowledge and Skills in Microsoft Office Applications.


 Knowledge and Skills in Computer Repairing. (Format, Upgrade)
 Knowledge and Skills in Hardware. (Computer Assemble, Change Hard Drives)
 Knowledge and Skills in Languages: XHTML, HTML, CSS, C+, C++, Java, PHP.
 Knowledge and Skills in Computer Operating System.

SEMINARS:
 The 2th Computer Technology Summit "Molding the Computer Technology
Generation for better Future"
Hiyas ng Bulacan Convention Center, City of Malolos, Bulacan
February 18, 2014
 The 3rd Compter Technology Summit "Linking Today's Dream Tomorrow's
Reality"
Hiyas ng Bulacan Convention Center, City of Malolos, Bulacan
October 01, 2015
 6th IT Congress "IT’S HOW WE CONNECT"
Bulacan Capitol Gymnasium, Malolos
November 25, 2016
 7th IT Congress "WAR ON HACK"
Bulacan Capitol Gymnasium, Malolos
November 17, 2017
 3rd ENABLEMENT SEMINAR "Zentalk Campus Invasion (w/ ASUS, INVIDIA and
SEAGATE)"
 Disaster Preparedness and Risk Reduction Managenent
Vallencia Hall, Bulacan State University
October 19, 2017

CHARACTER REFERENCES:
Mr. Jamie P. Pulumbarit
College Dean

Mrs. Real Cabuyaban


Contact No: 0927-208-7856

I hereby certify that the above information is true and correct to the best of my knowledge and
belief.
_________________________
Rey Francis M. Hernandez

You might also like