Vous êtes sur la page 1sur 216

International Advanced Diploma in Computing

C2006 Project: System Development

“EVET ORGAIZER”

Project Group : David Irawan Adhiguna (018800004337)


: Keith Nishan Fernandez (018800004402)
: Thomas Setiabudi (018800004137)

Submission Date : 19 November 2008


Center Code : 0188
Lecturer Name : Mr. Karuppan Chettiar Palaniappan

1
PROPOSAL

I. Introduction
Clover Company

Clover Company is an event organizer company (Clover Company) that handles


a certain kind of party like sweet seventeen’s party, birthday party, wedding party, etc.
The company will take a job from people who want to make a party. They know about
the company from their friend or relative or someone that they know and also from the
wedding exhibition. Sometimes the Clover Company joins the wedding exhibition to
promote the company’s event organizing business so more people will know about the
company and what exactly the company is doing. Clover Company give the company’s
sample photo from previous party that it handle so people can get picture about its
previous job. And then if they interested, they can contact the company and make it as
their event organizer.
When the order for organizing some events comes, Clover Company will
immediately contact the person who hired it. The company will ask them what kind of
party they want to make, what is the theme they want to use(like summer, winter, spring
or Japanese, western or futuristic, old style), how many people they want to invite, where
they want to held the party(some people want to make party only in certain place), etc.
After all the information is gathered, the company can start to prepare the party. When
the day comes, the company organizes everything and up until now all the customer are
satisfied with what the Clover Company have done.

2
II. Current System

The company is currently using this system to do its business operation:

 Customer order
Customer places their order by calling the company. Then, the customer will tell
the contact person from Clover Company what event they want to have, what
theme, the budget, and any specification for the event. Then the contact person
will record it or write it down on a book.

 Job Distribution
After they get the order, the contact person will pass the order to the head of the
company. The head will then distribute the job to each department to check the
availability for the event preparation. For example: who will contact the food
supplier, who will contact the printing company to print the invitations, etc.

 Internal communication and communication between Clover Company with


customer
Each member of EO team will inform the head about their task progress. And the
head will be the information source for the customer. So, when the customer
wants to know the order progress or wants to change something in the order
specification, he/she will have to call and speak to the EO head.

 Payment Method
The customer will have to make the payment manually, and then a staff from the
Clover Company will receive the payment, take note and write a receipt.

 Account Management
The staff of finance department will note all the company’s transaction and
produce the financial report for a period of time. E.g. monthly or yearly report

 Documentation of previous projects


All the data and information that are written when the Clover Company prepares
an event will be discarded after the event is done. Because they write all the
information on papers, so it will take a lot of space if they want to store it. The
result is the company never does any evaluation based on the previous works.

 Company promotion / advertising


The company advertises itself by following events like wedding exhibition or
from mouth to mouth information. That is the way they advertise the company’s
service. And their scope of operation is still limited in one city only.

3
III. Problems and Limitation:

There are some problems faced by the Clover Company with their current system:

 Problem to Get order


The customer can only place their order in office hours, because the customer
needs to manually call the company to speak with a staff.

 Ineffective communication
Because the EO team consists of so many persons who have different tasks, the
head will need to get report from each person by calling them one by one.
And if there is any changes of requirement from the customer (e.g. changes of
place), the head will need to call the person who is in charge of it.

 Problem with payment tracking


The payment is made and written manually, so it will take a bit long time if the
company needs information about it and also the customer needs to meet the staff
personally in order to make the payment.

 Inadequate financial report


The financial report is on per case basis. So the company doesn’t have detailed
information of all the transaction that has been made.

 Difficult to evaluate all the company’s activities


The current system will discard all the information about the previous events and
order, so at the end of working year it is difficult to analyze all these information
in order to improve the company’s productivity.

 Unsynchronized information with affiliation companies


The Clover Company affiliated with several other companies such as food
supplier, printing company, decorations, etc. Every time the Clover Company gets
an order, it needs to contact each of these companies asking for their availability
for a certain date. This is ineffective because they have to do it for each order.

 Lack of publication and advertising


The current system doesn’t help the Clover Company to advertise its business and
to expand their business range. Because they just depend on the events like
wedding exhibition and also mouth to mouth publication.

4
IV. Objective of the New System

Due to the problems and limitations faced by the company by using the current
system, so there is a growing need to develop and use a new system that not only
eliminates all the problems and limitations caused by the current system but also increase
the company’s business productivity and efficiency.
The problems of the old system are in terms of getting orders from customer,
doesn’t support effective communication between team and communication to customer,
no proper database to keep data and produce reports needed by the company, and also
doesn’t facilitate up to date information to synchronize the Clover Company with its
affiliated companies.
Apart from the problems mentioned earlier, the current system also not
sophisticated enough to help the company to promote and advertise its business. That’s
why it’s hard to expand the business coverage area of the company. The new system that
replaces the current system should be able to eliminate all these problems and limitation
caused by the current system.
The new system should be able to help the Clover Company not just in one field
but in every aspect involved in the company’s business. The new system should help to
give better service for the customer so customers will be more satisfied with the
company’s service. For example, easier access for customer to place their order, track the
status and progress of the order, ability to provide the customer with easier and
convenient way to make payment, payment tracking, etc.
Beside that, the new system needs to help the Clover Company in its affiliation
with other companies (e.g. Food Supplier Company, Printing Company, Instrument
rental, etc.). The new system must be able to eliminate the current communication and
schedule synchronization problem with these affiliate companies by providing a
convenient service for these companies to give up to date information about their
availability to the Clover Company.
Finally, the new system must be able to increase internal productivity of the
Clover Company. The current system that uses papers and pen to document all activities
and information must be replaced by the new system. The new system needs to provide a
digital database that keeps all the company’s record and information. This database will
reduce the cost of buying papers and pen, save more spaces, and also cut working time as
all the needed information is ready anytime a specific report needs to be produced. This
will help the company to review its records and to make a decision on how to improve
the company’s productivity. The new system also has to help the company’s financial
department by providing a financial report about the company’s income, outcome, and
profits in a certain period of time (e.g. monthly, weekly, or yearly).
So, the objectives of the new system are:
 Provides better service for customer.
 Support communication between company, customer, and affiliate companies
 Provides Database that able to generate report for the company
 Capable of promoting the company’s business
 Reduce expenses and increase company’s productivity
 Support the company’s financial reporting.

5
V. Description of the New System

In order to be a useful and productive system, the new system must be a better
system compared to the old system. The new system will be equipped with useful
features that will eliminate the existing problems and limitations caused by the current
system.
The new system will be an online system. It is a website that can be used by the
customer, the Clover Company, and also the affiliate companies. So, it is not just a
simple website to show general information but an online system that can be used to
manage the company’s business and increase its productivity.

The features of the new system are:


1. Customer registration and login
Before a customer can make place an order or use any other facility within the
system, he/she will need to fill an online registration form, get user ID and password,
and login to the system using his/her user ID and password. The personal information
of a customer from the registration form will be kept on a database, so it can be easily
used by the company if needed in the future.

2. Online order module


The new system will be an online system in the Internet, so it can provides an online
order service. This module will really helps the customer to place their order anytime
they want (no office hour limitation) and from everywhere as long as they have an
Internet access. Using this module, the customer not only able to place an order, but
also track their order preparation progress. If there are any changes on the order
specification and details (e.g. Change the place of the events, change the
documentation type used to document the event, etc.), the customer can also make it
online. It will really help to reduce communication gap between customer and the
Clover Company.

3. Online payment module


After a customer place an order, there is no need for he/she to come personally to the
company’s office just to make the payment. He/she can do the payment from the
website itself (online payment). It will allow the customer to pay using credit card, e-
NETS, etc. This module is also able to generate an online receipt after the customer
makes a payment. Another feature of this module is to generate a payment tracking
method, it means that in the case where a customer pay just a part of the cost, the
module can generate a report about how much more payment need to be made and the
due date of the payment.

4. Database
The system will have a database to keep various records and information of the
company’s business. This database will be the central data warehouse, so the
company can access and finds any needed information easily.

6
5. Affiliate Companies module
As stated before that one of the current system’s problem is that it is hard to keep the
schedule of the Clover Company and the affiliate companies synchronized. So the
answer of this problem is a module for affiliate companies that are implemented in
this new system. This module will allow a person from any affiliate company to login
to the system. After they login into the system, they can use some functions of the
system. First, they will be able to edit their own profile and for the second, they are
able to check about the order that has placed for them. For example; they need to
confirm an order if they are able to do it and if they are not able to provide their
service for certain event, they have to give an explanation about why they are not able
to do it.

6. Finance Report Generator


This finance report generator module is very useful for the company. Unlike manual
report, it can be used to produce an up to date finance report anytime it’s needed. The
report will covers about the company’s income, outcome, profit, loss, etc. So this
module will really save time and effort to make a company financial report.

7. Company Activities Report


Beside the finance report, the new system will be able to produce another report for
the company. It can report about the orders that have been finished, upcoming orders
due date, list of customers, etc. Many kinds of report can be generated from the
system’s database. This report plays an important part when it is used to evaluate the
company’s performance. These reports can be used for a decision making by the
company in order to improve the company’s performance.

8. Secured Access
Since the system database keeps a lot of important and confidential information of the
company, so the system also enforce security to make sure that only an authorized
user can view the information. This is implemented by using a login with
combination of user ID and password in order to see the data on the database. Of
course not everyone who login can see all the information in the database, for
example a customer will just be able to see information for his/her own order status,
but the system administrator or the Clover Company staff can see a lot more
information from the database.

9. Up to date news
Apart from all the system function that requires the user to login, there is also a public
part of the website that can be accessed by everyone without need to register or login.
These parts of the website will contain various information and news about the
company. This will help the company’s publication and attract new customers with a
huge coverage area, which cannot be done by the current system.

7
VI. Benefits of the New system
1. Improved customer service
The new system can deliver a better service for the customer. Features like online
registration, online order, online payment, order status and progress check, edit order
specification online, etc. These features are far better than the current system, that
will result in increased customer satisfaction level, increase the company’s reputation,
and also attract new customers.

2. Fast and easy communication


The new system provides as a fast and easy communication media between the
Clover Company, Customer, and affiliate companies. There is no need for the Clover
Company to manually make a call to an affiliate company to ask for their availability
or to call a customer to inform if there are any changes to the order specification,
because all these things are time consuming and it will be eliminated by the new
system. Using the ability of the new system that allows everyone involved in an event
order preparation to update the event progress status, any updates to an order progress
can be checked online through the website. When there is an important change to the
order specification, the system will send an e-mail to the customer to notify him/her
about it.

3. Provide detailed information about the company’s previous works


Using the database of the new system to record all the orders and job that have been
done by the company, the new system can produce a detailed report about all the
previous works that have been done by the Clover Company. The report may include
the information about the company’s customer in last 3 months, the kinds of events
ordered by the customer in last year, etc. various report can be produced. And the
most important thing is that the company never loses its history record and it’s always
well organized, save a lot of physical space (paperless), easy to store, and easy
retrieves it anytime.

4. Helps the Clover Company to make decision


With a lot of easily generated report from the new system, now the company can use
less effort to prepare materials and information needed to conduct a review and
evaluation about the company performance. For example, the company can use the
new system to produce a report about the kind of events ordered by customers in last
6 months, and then from this report the management team of the company can make
decision about where to improve the company’s business and how to do it.

5. Provide a better financial report, and its easier to access


In order to help the financial department of the Clover Company, the new system will
also benefits the financial company by helping them to do their job on writing
financial records and produce the company’s financial report. It’s easier and faster to
use the new system to produce a financial report compared to the current system that
produce financial report by manually writes it on a piece of paper that takes a quite
long time.

8
6. Easier to educate the customers and give information that they need
When a customer wants to make an order, there are many choices that he/she has to
make. The choice is like what is the type of the event that he/she wants, when is the
event date, and the widest option is on which affiliate company that the customer
wants to use for the event. For example there are some food supplier company
affiliated with the Clover Company, the current system will require a staff to explain
each company choice to the customer, this process takes long time and big effort.
With the new system, the customer can see the information about each choice on the
website itself, so the company doesn’t need a staff just to describe and explain each
choice to the customer. This will safe time and effort, thus increase productivity.

7. Inspiring customer
The new system will give news about the latest events that is organized by the
Company; this news will give inspiration for the customer to make their choice. This
will make the customers happier with the company and find that the company’s
website is helpful for them. All of these things can lead to more loyal customers.

8. Synchronized Schedule with affiliate companies


The new system allows the Clover Company to get up to date information because
affiliate company can straight away confirm the order if they can because the affiliate
company is able to access the website anytime they want. This synchronized schedule
between the Clover Company and its affiliate companies is an important benefit
because it saves a lot of communication cost, time, and effort.

9. Advertise the company


With the new system’s internet based platform, it can help the company to advertise
its business to a wider society, virtually all Internet users in the world. This is also
one of crucial part that the new system will take. The website should have an
interface and information that are interesting enough to attract new customers to use
the company’s service.

10. Reduce cost


After all the benefits mentioned above, the final benefit that the company will get
from the new system is reduced operational cost. The new system will reduce costs
like administration cost to buy papers and pen, telephone cost, cost for extra staff, etc.
So, beside the intangible benefits, the new system will also have real financial benefit
(tangible benefit).

9
VII. Initial Specification

The system is an online system with web pages programmed using PHP and
HTML as the front-end and a mySQL database as the back-end. The system will have 4
main areas. They are:
A. Public Area that can be accessed and viewed by all Internet users.
B. Customer Area for registered customer with proper user id and password.
C. Affiliate Company Area for affiliate companies.
D. Administrator Area that used by the Clover Company’s staffs.

A. Public Area
Public Area is part of the website that can be accessed and viewed by all Internet
users because there is no need to enter password or register to see this part. This is the
part of the website that will be first displayed. This part also plays an important role
on the company’s publication in order to attract new customers.

A.1. Up to date ews


The most recent news about the company will always provided in the website to
give customers more knowledge about the company and its services and also
attracts new customers.

A.2. Company Profile


Provides a description about the company, to give the customer better
understanding about the company and its businesses.

A.3. Company’s service description


This is a room for the company to promote all kinds of services that it offers to
the public. It will have description about the company’s service, list of offered
services and also promotion if any.

A.4. Company’s contact


This part provides a detailed contact and also the office address of the company
in case if someone wants to contact the company directly.

A.5. FAQ (Frequently Asked Question)


This is a list of frequently asked question and its answer to help the user to get
answer for common questions.

A.6. Sitemap
Sitemap is provided in this website to make it easier for the user to understand
the structure of the website and jumps quickly from one page to another page.

A.7. Customer Registration


Customer registration page provides a registration form for customer who wants
to use the company’s service so they can have a user id and password to login to
the system and use more functionality of the system.

10
A.8. Customer Login
Customer login page is where a registered customer can use his/her user id and
password to login to the customer area.

A.9. Affiliate Company Login


Affiliate company login is where a person from an affiliate company can login
using his/her user id and password to access the affiliate company area.

B. Customer Area
After a registered customer successfully login from customer login page, he/she can
now access the customer area.

B.1. User Profile Module


Here the customer can see the information that he/she entered in the registration
form earlier. The customer can do modifications to some details of his/her
personal particular here (e.g. update phone number or change e-mail address).

B.2. Order Placing Module


Customer can place their order here, including all the options and specification
of the order such as event type, date, place, entertainment type, documentation
type, etc.

B.3. Online Payment Module


This module allows customers to make an online payment for their order. After
a customer make payment, it will give an online receipt that can be printed by
the customer. If there is more payment to be made, the module will remind the
customer about

B.4. Order Status Tracking Module


The customer can use this module to check the progress status of their order.
For example, the customer can see if the place for the event has been booked or
not, or if there is any changes to one of the specification/detail.

B.5. Change Order Specification


Customer can use this module to change the specification and detail of the
order.

B.6. Affiliate Companies Profiles


Customers need to choose which affiliate company that he/she wants to use
when placing order. For example company A for food supplier, company G for
documentation, and company L for the printing of flyers. To decide which
affiliate company to choose, the customer will be able to read a description and
profile of each affiliate company.

B.7. Customer Feedback Module

11
Customers can give feedback to the company if they see that there is a room for
improvements. Then the submitted feedback can be followed up by the
management team of the company.

B.8. Help / User Guide


The help and user guide provides a clear instruction about how to use the
system. This feature will assist the system user to be more familiar with the
functions and navigations in the system.

C. Affiliate Company Area


This affiliate company area is a special part of the system for the affiliate companies
of the Clover Company, so the synchronization between the Clover Company and its
affiliate companies can be done easier with less effort.

C.1. User Profile Module


The user profile module is similar with the user profile module in customer
area. It displays the affiliate company’s detail information and can be updated if
there are any changes.

C.2. Booking Status Module


This module will be a reminder for an affiliate company to remind it about what
are the dates that it is booked. And then the affiliate company can confirm the
booking if they can do it. A confirmed booking from an affiliate company will
update the order status that can be checked by the customer via order status
tracking module.

C.3. Feedback Module


An affiliate company can give feedback to the Clover Company if they see that
there is a room for improvements. Then the submitted feedback can be followed
up by the management team of the Clover Company.

C.4. Help / User Guide


The help and user guide provides a clear instruction about how to use the
system. This feature will assist the system user to be more familiar with the
functions and navigations in the system.

D. Administrator Area
Administrator area is used by internal staff of the Clover Company. It requires user id
and password to enter this area. But for security sake, there is no visible interface to
login to this area from the home page of the website. If a staff wants to login, he/she
must type a special address to open the login page to the administrator area.

D.1. Order Management Module


This module provides ability for the Clover Company’s staff to manage all the
orders from the customers. The staff can see each order detail and update the
order preparation progress when it’s necessary. The Clover Company can tell

12
the customer if there is any change to the order specification through this
module.

D.2. Customer Management Module


The company can manage its customer from this module. The company can use
this module to check for customer’s data and information, and also read
customer’s feedback or send e-mail to a customer to inform the customer if
there is something important happen.

D.3. Affiliate Company Management Module


The availability schedule from each affiliate company can be checked using this
module. The Clover Company also can check which companies available are for
a certain date. Additionally, the Clover Company can check the status of an
affiliate company about how many order that request its service, whether all the
request have been confirmed, etc. The Clover Company also can send e-mail to
any affiliate company if there is something urgent to ask.

D.4. Company Schedule and Reminder


It helps the Clover Company to view its schedule and also upcoming events and
order.

D.5. Report Generator Module


This module is used generate many kind of reports from the system database. It
can produce reports like customer data report, affiliate companies report, report
about the orders received in a certain period, etc. These reports can be used for
an onscreen viewing only or printed to be used as meeting materials.

D.6. Finance Report Module


The company’s finance department can use this module to generate the
company’s financial report. It has many categories of what period of time
should the report show and also report for general condition or report on per
case basis (e.g. report for each order).

D.7. Database
The system’s database is used to store all the data needed by the company. It
stores customer data, affiliate company data, orders data, transaction data, and
financial data. The security of the database is ensured by protecting it using
password so it will prevent unauthorized person to access the information inside
the database.

D.8. Help / User Guide


The help and user guide provides a clear instruction about how to use the
system. This feature will assist the system user to be more familiar with the
functions and navigations in the system.

13
VIII. Work Distribution

To develop this system, we have a developer team that consist of three


experienced person that is highly motivated and have adequate skill to carry out this
project in time and satisfy the system’s specification.
The team consists of:
1. System Analyst
2. Programmer
3. Database Designer/Administrator
Here is a bit description of each team member:

1. System Analyst
Our system analyst is David. He has many years of experience in this field. He is
a highly self-motivated person with good communication skills. In this project, he
will meet our customer to identify problem suffered by the customer’s current system.
Beside that, David will perform analysis to the current system for clearly understand
workflow of the current system, current system’s features, its drawback and
constraints. This information will allow our team to decide what improvement should
be made in the new system. To achieve this objective, David will have to gather
information from different method such as reviewing current system’s document,
interviewing involved staff person, and observing current system’s work activities.
After gathering sufficient information, he will perform feasibility study to examine
the acceptance of the new system. This will include few factor such as current
technology available, user’s operating skills and customer’s budget. David also makes
decision together with other team member in determine new system specification.
The team member will list out any hardware and software needed in the new system.
Based on gathered information, David will perform the cost benefit analysis. He will
list out what benefits will the new system bring, and the cost of implementing new
system. David has to prepare proposal for present our new system concept to
customer. At the system implementing and evaluation stages, David will conduct with
other team member to evaluate the newly implemented system. Together, they will
analyze the new system performance, user acceptance and customer satisfaction, and
then produce a system review report.

2. Programmer
Our team programmer is Thomas. He has enough experience in this field. Master
in some programming language makes him able to fulfill each project objective in
most economic and creative ways. In this project, he will determine the specification
of the new system along with other team member. As usual, he will select the best
tools like pseudo code, flow chart and CASE tools to planning how to design the new
system. Thomas also has to choose suitable programming language to construct the
new system and meets document requirements. After selecting desired programming
language, the entire team member will begin to code the new system. During system
development phase, Thomas will document the pseudo code, flow chart, system-
operating manual, and procedures in the system document. When the system is
developed, Thomas will perform a system test to the new system along with database

14
administrator. They will test the new system with available test data and also live test
data provided by the customer. The new system will not be implemented until it is
100% functional and free from any kind of errors. If an error is occurred, Thomas will
revise the new system according to the detected error. Thomas will play his role when
the system is implemented. First, he will implement the system with other team
member. If training is conducted, he will responsible for training the user based on
the system-operating manual. While the system is fully operated at customer site,
Thomas and other team member will conduct a system review on the implemented
system.

3. Database Designer/Administrator
Our team’s Database Designer/Administrator is Keith. He has adequate education
and experience in this field. In this project, Keith will work with other team member
to determine system specification. Then, he will plan the database with the aid of
database development tools such as data flow diagram, data dictionary and decision
tree. With the aid of those tools, he will decide the how many database is needed,
relationship between each database, data integrity control etc. Keith needs to choose
suitable database programming language to use in this project. Then, he will construct
the database with the selected language. Beside that, he will join other team member
to codes the system. While the system development in progress, Keith will help
Thomas to prepare the system document. He needs to make the database
documentation which recording the database structure, coding, database maintaining
procedure. When the system is completed, he will join other team member to perform
system test to the new system. At the system implementing and evaluation phase,
Keith will review the new system with other team member.

15
IX. Cost Benefit Analysis

Investment Cost Investment Cost


Cost Type
(ew System)SGD$ (Old System)SGD$
Cost for Analysis 2000 1500
Requirement
Determination
System Design 3000 0
System Development 4000 0
System Testing 2000 0
Implementation Costs
Cost for Installing new
2000 2000
system
File Conversion 500 1500
Removing Current
0 0
System
System Training 500 500
Operating Cost
Cost for Maintaining 2000 2000
Technical Support 1500 1000
TOTAL COST 17500 8500

16
X. Expected Benefits of the New System (Intangible)

Benefits Costs(SGD$)
Increase the efficiency of information
5000
process by using computer bas system
Time Efficiency 2000
Improve the decision making 4000

17
Annual Return

System First year Second year Third year Fourth year Fifth year Total Return

Old system 1800 2100 2400 2500 2700 11500


New system 3500 4000 4700 5500 6200 23900

Cost of Project
= Payback Period
Annual Cash Inflow

Payback period for old system :


Cost of Project = 8500
Annual Cash Inflow = Total Return/5
= 11500/5
= 2300
Payback Period = 8500/2300
= 3.69 years
Because the company does not use any system in the old system so the payback period
for old system is 0 year.

Payback period for new system :


Cost of Project = 17500
Annual Cash Inflow = Total Return/5
= 23900/5
= 4780
Payback Period = 17500/4780
= 3.66 years

18
XI. Return on Investment (ROI)

ROI = [Total Benefit-Total Cost] / Total Cost


Old System:
ROI = [11500-8500] / 8500
= 35%

New System:
ROI = [23900-17500] / 17500
= 36.57%

19
XII. Hardware specification
The minimum hardware specification to operate this system is:
1. Intel Pentium IV processor or better
2. Minimum 512 Mb RAM
3. Color Monitor
4. Keyboard
5. Mouse with scroll button
6. 160 GB hard disk
7. DSL Internet connection
8. Laser Printer or Dot Matrix Printer

For the web server itself, we will host the website on another commercial web
server, so we don’t need to buy the expensive web server computer for the
company.

XIII. Software Requirements


 Development Software
The software that is used to develop this new system:
1. Notepad ++
2. PHP editor
3. PHP (Personal Home Page)
4. phpMyAdmin
5. FileZilla
6. Apache HTTP server
7. MySQL
8. Adobe Dreamweaver
9. Adobe Photoshop
10. Core FTP

 Operational Software
The minimum requirement of the software to operate the system:
1. Windows XP or Windows Vista
2. Internet Browser (Mozilla Firefox v.2 or Internet Explorer 7)

20
XIV. Gantt Chart

XV. Conclusion

In Conclusion, we can conclude that the Clover Company needs to solve the
problems and limitations in its business that is caused by using the current system.
Developing a new system is the answer to eliminate all the problems and limitations of
the current system. The new system will be an online based system with PHP and HTML
as the front end, and a mySQL database as the back-end. The new system will be able to
increase the company’s business productivity, save money, and attract new customers.
So, the new system will play a crucial part for the company when it is implemented.

21
TABLE OF COTET

I. FACT FIDIG.................................................................................................. 25
I.A. Interview ........................................................................................................... 25
I.B. Questionnaire ................................................................................................... 38
II. ARRATIVE................................................................................................... 40
1. System’s narrative ................................................................................................. 40
2. Hardware Requirements........................................................................................ 42
3. Software Requirements ......................................................................................... 42
III. PROCESS FLOW ........................................................................................... 43
1. Proposed System Context Diagram ............................................................... 43
2. Proposed System 1st level Data Flow Diagram ............................................. 44
3. 2nd level Data Flow Diagram (1.0 Receive Order)........................................ 45
4. 2nd level Data Flow Diagram (2.0 Sales Process) .......................................... 45
4. 2nd level Data Flow Diagram (2.0 Sales Process) .......................................... 46
5. 2nd level Data Flow Diagram (3.0 Update) .................................................... 47
6. 2nd level Data Flow Diagram (4.0 Report)......................................................... 47
6. 2nd level Data Flow Diagram (4.0 Report)......................................................... 48
IV. ILLUSTRATIVE SUPPORTIVE ....................................................................... 48
IV. ILLUSTRATIVE SUPPORTIVE ....................................................................... 49
V. PROBLEMS & LIMITATIOS.......................................................................... 51
VI. SCOPE & COSTRAITS ........................................................................... 52
a. Project Scope ................................................................................................... 52
b. Project Constraints ......................................................................................... 52
DOCUMETATIO DESIG...................................................................................... 54
I. Description Of ew System .................................................................................... 54
I. a. arrative........................................................................................................... 54
I. b. Illustration Supporting arrative.................................................................. 56
I. c. Process Flows.................................................................................................... 57
II. Detailed Design ....................................................................................................... 63
II. a. Entity Relationship Diagram ........................................................................ 63
II. c. Architectural Design ...................................................................................... 67
II. d. Procedural Design.......................................................................................... 68
II. d. Procedural Design.......................................................................................... 69
II. e. Interface Design.............................................................................................. 79
III. Hardware and Software Selection....................................................................... 99
III. a. Hardware specification ................................................................................... 99
III. b. Software Requirements................................................................................ 99
4. DEVELOPMET AD IMPLEMETATIO..................................................... 100
4.1 Software Development Testing .......................................................................... 100
Justification of testing technique ......................................................................... 100
4.2 Implementation: Conversion and Training Plan ............................................. 154
4.3 Implementation : User Guide............................................................................. 157
4.3.1 Installation and Running the System. ........................................................ 157
4.3.2 Operating Guide........................................................................................... 159
4.5 Critical Appraisal: Individual............................................................................ 173

22
Critical Appraisal by: David Irawan Adhiguna 018800004337........................ 173
Critical Appraisal by: Keith ishan Fernandez 018800004402........................ 174
Critical appraisal by Thomas Setiabudi (018800004137).................................. 175
5. Program Listing (Source Code) ............................................................................... 176

23
EXECUTIVE SUMMARY

We create this documentation is that we can provide the information about the system
that we have created, which is Clover Event Organizer.

This project is created by a team that is consist of :


David Irawan Adhiguna (018800004337)
Keith Nishan Fernandez (018800004402)
Thomas Setiabudhi (018800004137)

We need 8 months to finish this project which means two terms. We do all the coding and
documentation and we do a lot of research and trial to do this project. Finally after all the
consideration which programming language that we want to do the project with, we
choose PHP.net and MySQL.

After we formed the team, we make a meeting to discuss about the project. But our
meeting is not organized like twice in a week or something like that. We arrange our
meeting if something is very important that we need to discuss or if we want to split the
work into the team. On the first term, our team has already finished until the Analysis
Documentation and the second term we start with doing the Design Documentation and
then the coding. One of our member often sick so we have to somehow manage our work
so that it will not postponed too long because it will affect the project time.

This is online-based system so that all people can access it from anywhere as long as
there is internet connection there. That is one of advantage by using the online-based
system. That is the reason why we choose the online-based system which is to make
wider relation.

There are others benefit that the organization can get from this new online-based system
such as benefit that we do not have to do manually task like: add record, search record,
manage record, etc. Although this documentation already has the user guide book to
guide the user about this new system, we suggest you to let us give training about how to
use the new system because it will be more effective.

For user that want to access the website, they can go to :


Davidkeiththomas.freevar.com

In that website, they can see how the website look like and what function that the website
has.

24
DOCUMETATIO AALYSIS

I. FACT FIDIG
The purpose of performing fact finding activities in this project is to get a better
understanding of the current system’s problem and limitation and also what is expected
from the new system.
Our fact finding activity will involve the staffs of the Clover Company which is
the event organizer company. There are two kinds of fact finding technique that we
perform here, they are interview and questionnaire. The interview will be conducted to
find an in depth information from some staff of the company, while the questionnaire will
be given to all the staff of the company in order to get general information from all the
company’s staffs.

I.A. Interview
Interview is the first fact finding method that we perform. There are nine staffs
from three departments that we interviewed, 3 staffs from each department. The three
departments are marketing, financial, and logistic department. Staffs from these three
departments are interviewed because these departments will get the biggest impact when
the new system is implemented in the future.

I.A.i. Interview for Marketing Department


The questions that we will ask to staff from marketing department are:
a) Is there anything you like to feedback about the system here?
b) What are the problems for a customer to place an order?
c) What do you think about the company’s advertisement/publication?
d) What you like to suggest for the company’s new system?

The staffs that interviewed are:


a) Ujang
b) Andi
c) Aneng

1) Interview with Ujang


2) Interview with Andi
3) Interview with Aneng

25
I.A.ii. Interview for Financial Department
The questions that we will ask to staff from marketing department are:
a) Is there anything you like to feedback about the system here?
b) What do you think about the internal communication in the company?
c) What are your difficulties when preparing a financial report?
d) What will you suggest for the company’s new system?

The staffs that interviewed are:


a) Santoso
b) Fendy
c) Siti

1) Interview with Santoso


 Interviewer : Good afternoon Mr. Santoso. We appreciate that you want to
spare your time for an interview session with us here.

 Santoso : Yes, It’s not a big deal through.

 Interviewer : Mr. Santoso, Is there anything you like to feedback about the
system here?

 Santoso : Yes of course! Currently I feel that the system in this company is
a bit slow, especially to support us in the financial department.

 Interviewer : Oh is that so, can you please explain it to us please?

 Santoso : Well… you know, this company is dealing with so many people,
the customers, the affiliate companies, and also the internal staffs.
Sometimes it’s a bit tough to do our job as a financial department
to collect information about financial data such as payment from
customers or payment to the affiliate companies. We need to
collect these information from various staffs in the company, and
getting information from many people is not as easy as flipping
your hand. Sometimes one of the staff is in MC and cannot be
contacted, another time a staff that I need to ask to is not in the
office as he/she needs to prepare the event place or to consult with
an affiliate company. Things like that happen quite often here.

 Interviewer : Ok, I get your point. So you feel there is a communication


problem here.

 Santoso : Yes, sort of.

 Interviewer : Mr. Santoso, what do you think about the internal communication
in the company?

26
 Santoso : Actually there is no serious problem of communication or relation
problem between the staffs here. But, as some staffs especially the
marketing and logistic department that needs to go out quite often,
it’s not easy to meet them and ask them to update us with the most
recent progress of a customer’s order.

 Interviewer : Oh, I see…

 Santoso : Yes, we need to get information such as the expenses from an


event preparation or recent payment made by a customer faster, so
we can prepare the financial report faster too. But that is a bit hard
to do now.

 Interviewer : Ok Mr. Santoso, so… beside the difficulties to collect


information, what are your difficulties when preparing a financial
report?

 Santoso : let’s see… For me, I have quite used to this system’s way to
make a financial report using pen and papers since we have do it
this way for years.

 Interview : So you are very convenient with this method is it?

 Santoso : Yes, you can say that. I never feels that this is bad, but when there
is a lot of orders and make us needs to make a lot of financial
reports for the company, sometimes I feel like I wanted a better
system to make the financial report production process become
faster.

 Interviewer : Mr. Santoso, as you know that we developing a new system for
this company, so what will you suggest for the company’s new
system?

 Santoso : Yes, I heard about it. Well, of course as I said earlier that we have
some problems here in the financial department. So, I hope that the
new system will be consider to help our department too so we can
have a better work performance. In my opinion, I think the new
system should be able to facilitate the communication between
staffs here in the company, so we from the financial department
can get financial information faster.

 Interviewer : Thank you Mr. Santoso, that’s all that we want to ask from you.

27
2) Interview with Fendy
 Interviewer : Good afternoon Mr. Fendy. We appreciate that you want to spare
your time for an interview session with us here.

 Fendy : No problem.

 Interviewer : Mr. Fendy, Is there anything you like to feedback about the
system here?

 Fendy : Yes, I think that there are a lot of things that we need to improve
from the company’s current system. Because I feel some problems
from this system now.

 Interviewer : Can you please explain to us what the problems are?

 Fendy : Well, my job here in financial department sometimes is very


demanding. The boss or the management sometimes suddenly ask
us to write an financial report for this month, for last two months,
or report about all the income that the company get within this
year. With the current system, generation of these reports needs a
quite long time because we do it manually with the pen and papers.
While the deadline is usually very tight. For me, it is a bit stressful
to do this job.

 Interviewer : Oh I see, it will be difficult in your side.

 Fendy : Of course it is.

 Interviewer : Mr. Fendy, What do you think about the internal communication
in the company?

 Fendy : Oh this is another problem also. A lot of staffs need to work on


the field, outside the office, to prepare for the events such as the
event place, the foods, equipment, entertainment, etc. So it is a bit
hard to keep updated information with them. Even they got hand
phone with them, it’s a bit unpractical when you call a lot of
people just to ask them to update with the newest information that
is needed by our department.

 Interviewer : Ok, I get your point. Now let’s talk about your job as a staff in
financial department, you need to prepare some financial reports
for the company right?

 Fendy : Of course, a lot of it.

 Interviewer : What are your difficulties when preparing a financial report?

28
 Fendy : All right, preparing a lot of financial report is very hard to be
done now as we make it in very slow speed. The use of pen and
papers is very tiresome when there is a lot of financial report that
needs to be done quickly. The slow information update from
another department concerning financial information like income
and expenses also adds the problem.

 Interviewer : I see… Mr. Fendy, as you know that we developing a new system
for this company, so what will you suggest for the company’s new
system?

 Fendy : Oh, yes that is very good news that I heard! I really hope that the
new system will be able to help us here in the financial department.
I suggest that the new system equipped with features that help the
internal communication within the company and also help us to
produce a financial report faster.

 Interviewer : We will use your suggestion as our consideration in designing the


new system. Thank you Mr. Fendy, that’s all that we want to ask
from you.

29
3) Interview with Siti
 Interviewer : Good afternoon Mrs. Siti. We appreciate that you want to spare
your time for an interview session with us here.

 Siti : Yes, please feel free to ask.

 Interviewer : Thank you. First of all, we want to ask, is there anything you like
to feedback about the system here?

 Siti : Do you mean the system for the financial department?

 Interviewer : Yes it is.

 Siti : Oh, I’m quite new here but I think that the current system here for
the financial department is horrible!

 Interviewer : Ok, what do you mean by that?

 Siti : I tell you. The first time I started to work here, I was surprised
that I have to work in a financial department without any
accounting software! So what we do is we collect all the
information that we need then we start to make the financial report
by writing it using pen on a piece of paper. And then the archive is
kept in a big pile of file holders. It is very frustrating to look for a
single piece of old financial report, and also we cannot keep too
many archive due to limited office space, so we need to throw
away old documents periodically. This is very bad for a company
with so many customers like this; they really need to improve it.

 Interviewer : Ok we note down that. Now we would like to ask you, what do
you think about the internal communication in the company?

 Siti : Well, actually I don’t really know about it, because the other two
staffs in the financial company do the information collecting and
my job was only to write the reports based on the collected
information.

 Interviewer : Oh I see… but do you think that there is any problem in this area?

 Siti : Personally I don’t feel any problem in the internal communication


between the staffs in this company because I don’t do much
information gathering from the other staffs. But I think I remember
that my colleague say that it is very slow for them to gather the
information from another staffs in this company…yea that’s all I
know.

30
 Interviewer : Yes, maybe we should get more information about this from the
other two staffs in the financial department.

 Siti : Yes of course.

 Interviewer : Anyway, let’s move on to the next question. What are your
difficulties when preparing a financial report?

 Siti : My difficulties when preparing a financial report is mainly with


the slow manual system. I really need software that helps us, the
staffs in the financial department, to do our jobs. It’s very stressful
when we have to make a lot of reports using just papers and pen.
We need a better system.

 Interviewer : Yes Mrs. Siti, as you say that the company needs a better system,
we would like to ask you, what will you suggest for the company’s
new system?

 Siti : Because I work in the financial department, then I would like to


suggest that the new company system will help us to do our jobs to
make the financial reports faster. The feature to make the financial
report also need to be synchronized with our needs as we need to
make the reports for some different types of periods, It can be
monthly report, quarterly, yearly, or a financial report just for one
particular customer order. I think it will be really good if the
company’s new system can do that.

 Interviewer : We will use your suggestion as our consideration in designing the


new system. Thank you Mrs. Siti, that’s all that we want to ask
from you.

31
I.A.iii. Interview for Logistic Department
The questions that we will ask to staff from marketing department are:
a) Is there anything you like to feedback about the system here?
b) What are the problems when you communicate with the affiliated companies?
c) What do you think about the company’s working procedure?
d) What is your suggestion for company’s new system?

The staffs that interviewed are:


a) Iya
b) Ayi
c) Ajeb

1) Interview with Iya


 Interviewer : Good morning Mr. Iya…How your day today? Thank you for
your time here..

 Mr. Iya : Morning too…Today is great…Sure…

 Interviewer : That’s good to hear…Ok now let’s start it…First of all I want to
ask about what do you think of the current system?

 Mr. Iya : I am not quite satisfied with current system because I think it’s
not effective enough to do it.

 Interviewer : Ok.. Why do you think it’s not effective?

 Mr. Iya : Because when there is a customer that wants to create a party,
they tell us about what they need and then we have to contact
our affiliate company that can provide what we need. We have
to contact them by phone or email and sometimes these two
ways got delay to get reply. That is why I say that this system
ineffective.

 Interviewer : I see…so can you tell me about the detail the communication
between you and the affiliated company?

 Mr. Iya : Ok sure… if we get an order from customer, we immediately


contact the affiliated company to ask about the availability then
we will wait for the reply from the affiliated company. But the
problem is that we have to wait for the reply. Sometimes the
affiliated company is not reply to us immediately because they
are busy with other things.

32
 Interviewer : I see…I will write down that…And what do you think about the
company’s working procedure?

 Mr. Iya : There are several people in this department so we have to work
together to do the task. Actually we often get some trouble
when we have to contact the other person. That’s pretty
annoying for me.

 Interviewer : I’m sure it is…The last question is what will you suggest for the
new system?

 Mr. Iya : I think it will be great if there is a machine or something that


can help us with the communication and make it more
effective.

 Interviewer : Ok then…That’s all for the interview…Thank you for your


time and have a nice day!

 Mr. Iya : Thank’s bro… Have a nice day too…

33
2) Interview with Ayi
 Interviewer : Good afternoon Mrs. Ayi…How are you today? Thank you for
your time here…

 Mrs. Ayi : Morning…Fine…

 Interviewer : Shall we start our interview?

 Mrs. Ayi : Sure. Go ahead.

 Interviewer : What do you think about the current system in the company?

 Mrs. Ayi : I will tell the truth here…The system very annoying…

 Interviewer : Why do you think like that?

 Mrs. Ayi : Ok I give you a picture…If the order came, we have to contact
the affiliated company, and my duty is to come to the affiliated
company itself not like other people in this department who
just give a call or send an email to the affiliated company. It is
very wasting our time and energy.
 Interviewer : I see…that is very tiring and pretty hard for you…

 Mrs. Ayi : Yeah…It is…

 Interviewer : Can you describe the detail about the communication with the
affiliated company?

 Mrs. Ayi : I don’t know about the other people who work in this
department but for me, it is very annoying when you have to go
to the affiliated company but when you reached there, they told
me to come back some few days later because they closed for
some reason. Then I have to go back to that company again
few days later.

 Interviewer : I see…that way will cost a lot of money…because we have to


go back the same twice just for one reason…Am I correct?

 Mrs. Ayi : Yes…you got the point…

 Interviewer : What do you think about the company procedure?

 Mrs. Ayi : I think it is fine but you know…some people often do mistakes
and they give a wrong information to me and when there is an
update about something, they late to inform me.

34
 Interviewer : Ok…That one is very troublesome…if there will be new system
to replace the current system, what will you suggest?

 Mrs.Ayi : Ohhh…that would be nice…I think I will recommend a system


that can do the update more quickly and I can check the update
directly.

 Interviewer : I note down that…thank you for the interview…have a nice day
Mrs. Ayi!

 Mrs. Ayi : You are welcome…Have a nice day too…

35
3) Interview with Ajeb
 Interviewer : Good Afternoon Mr. Ajeb…How are you today? Thank you for
your time here…

 Mr. Ajeb : Good morning too…I am fine…No problem..

 Interviewer : Ok let’s start the interview…

 Mr. Ajeb : Ok sure.

 Interviewer : Let’s start with your opinion about the current system?

 Mr. Ajeb : In my opinion, the current system is a bit not satisfied because
we have a problem when we have to contact the affiliated
company.

 Interviewer : Hmm…okay…can you explain about the problem with the


communication with the affiliated company?

 Mr. Ajeb : Hmm…like this… if you want to contact the affiliated company
there are two ways to do it, by phone or email from the
company and go to the affiliated company itself. Luckily, I do
the first one that is give a call or send an email to the affiliated
company. The affiliated company sometimes late to give a
reply to us, it is still not a problem if the deadline is still long
enough but the problem is when the time almost reach a point
that is the affiliated company must give reply now or else the
project will be delayed. When that time comes, we got stressed
because after that we have to do everything rushed.

 Interviewer : Ok…I got your point…What do you think about the company’s
working procedure?

 Mr. Ajeb : Hmm…I’m not so sure about it but I will tell you what I
know…The procedure is simple that is to give the order to the
affiliated company then they will give us their availability then
we can confirm it with the customer. But sometimes the
affiliated company already gives an answer to the one of our
person in this department but that person is forgot to tell the
other staff that the affiliated company already gives an answer,
so the other staff will ask a reply from the affiliated company.
This is one of example for wasting our energy. So the
company’s working procedure is not effective for me.

 Interviewer : I take a note from that…What will you suggest if there is a new
system to replace the current system?

36
 Mr. Ajeb : Hmm…Maybe I will suggest a system that can give us an
effective way to communicate and update the information more
quickly so we don’t have to waste our time and energy. That is
all.

 Interviewer : Thank you for your suggestion and time Mr. Ajeb…Have a nice
day!!

 Mr. Ajeb : Sure…Have a nice day too..

37
I.B. Questionnaire
The questionnaire that we spread to all the Clover Company’s staffs is:

Clover Company ew System Project


QUESTIONNAIRE

Please Answer these questions by ticking in the appropriate boxes


1. Gender : Male Female
2. Which department are you in?
Marketing Financial
Logistic Management
3. How long have you work in this company?
0 – 2 years 5 years
2 – 4 years > 5 years
4. Are you satisfied with the current company system?
Very satisfied Not Satisfied
Satisfied Very unsatisfied
5. Do you think that there is a lot of problem in the current system that limits your job
productivity?
Yes No problem at all
I’m not sure
6. If you answered “yes” for question 5, how serious is the current system’s problem?
Very serious Common system problems
Serious Only minor problems
7. What do you think about the company’s service to the customer in terms of receiving the
orders?
Very good inadequate, placing order should be easier
Good, but need to be improved
8. Currently the customer need to come personally to make payment, what do you think
about it?
It is good enough I don’t know
Should be changed and improved
9. What is your opinion about the current company’s advertisement?
It’s enough
Need to be improved with new advertisement media
10. Is the current system helpful in facilitating communication or coordination among all
the staffs in the company?
Very helpful Not so helpful
Helpful Not helpful at all
11. How is the company’s coordination with it’s affiliate companies?
Nice coordination between companies Not good enough, need improvement
Good, but sometimes got problems Very bad, the system doesn’t support it
12. If there is a request for a report, how fast is it can be made?
Fast and satisfying slow, but still acceptable
Fast enough very slow
13. Do you think that the company system should be upgraded?
Not right now
Yes, as soon as possible
No
I’m not sure about it

38
14. If there is a new system, which aspect of the company that need to be emphasized?
Financial Department Logistic Department
Marketing Department Others, please specify________________
15. How do you describe the need of new company system in a 1 to 5 scale (1 unimportant, 5
important)?
1 3
2 4
5
16. Which Type Of ew System That You Prefer?
Offline System Online System

For Each Department


Please answer according to your department.
This part ask about the level of satisfaction on current system’s services/procedure (1 lowest, 5 highest)
Marketing Department
System Service/Procedure 1 2 3 4 5 Comment
1. Receive Order from customer ______________________
2. Customer payment method ______________________
3. Company Advertising ______________________
4. Communication with customer ______________________
Financial Department
System Service/Procedure 1 2 3 4 5 Comment
1. Collect financial information from staffs ______________________
2. Manage customer’s payment ______________________
3. Produce financial report ______________________
4. Archiving old financial history ______________________
Logistic Department
System Service/Procedure 1 2 3 4 5 Comment
1. Communicate with affiliate companies ______________________
2. Synchronize schedule ______________________
3. Confirm orders with affiliate company ______________________
4. Report changes to order specification ______________________
Management
System Service/Procedure 1 2 3 4 5 Comment
1. Time needed to make report ______________________
2. Availability of old data ______________________
3. Customer data management ______________________
4. Affiliate company data management ______________________

39
II. ARRATIVE
1. System’s narrative
Clover Company’s Online System

This online system will be able to facilitate the company’s customer to place their
order online. So virtually the customer will be able to access the system anywhere as long
as the customer has an internet access. Before a customer can place their order, he/she
has to register first by filling the registration form. After the customer submits the
registration form, the system will send an e-mail to the customer’s e-mail to verify the
registration. After the registration is verified, now the customer can place their order.
While filling the order form, the customer will get many options to customize his/her
order specification, such as options for catering company, event documentation, event
place, etc. The customer will also able to make online payment for their order.

All the data and information inputted in this system will be stored in a database.
Data about the customer registration, order data, online payment data, company’s
financial data, and also data about the affiliate companies is stored in the system’s
database. Besides storing data, the database will also used to generate various reports
according to the company’s need.

Another system’s features for the customer are order tracking feature and
customer feedback feature. Firstly, the order tracking feature allows the customer to get
up to date information about the progress of his/her order. The customer will also be able
to make changes to his/her order specification or get informed by the company if the
order’s specification must be changed. Secondly, the customer can give a feedback to the
company through the system if the customer is not satisfied by the company’s service or
system or if the customer sees a room for improvement. This customer feedback will be
reviewed by the company and be considered as suggestion to improve the company’s
system or service.

Besides providing services for the company’s customer, the online system will
also helps the company’s relation with its affiliate companies such as food Supplier
Company, logistic company, event documenter company, printing company, etc. The
online system will provide feature for a representative of each affiliate company to login
into the system. After the affiliate company’s representative has login to the system, now
he/she can use the system’s features for the affiliate company. There are some system
feature for the affiliate company, they are: User Profile Module, Booking Status Module,
and Feedback Module. The User Profile Module is used to display the detail information
about the affiliate company, the user can edit or update some of this information if there
is any changes in the affiliate company’s profile like contact number or address.

The last part of the system is the administrator area, this part is used by the staffs
of the Clover Company and no unauthorized person can access this area as this area is
secured using password and the login page is not appear in the website’s main page. So,
the staff of the company will need to open the login page, enter the user id and password,
and then login to the system. After the staff login in the system, then he/she can use the

40
features of the system that are: order management module, customer management
module, affiliate company management module, company schedule and reminder, report
generator, and finance report module.

Using the order management module provides ability for the Clover Company’s
staff to manage all the orders from the customers. The staff can see each order detail and
update the order preparation progress when it’s necessary. The Clover Company can tell
the customer if there is any change to the order specification through this module.
Customer management module will help the company to manage its customer data. The
availability schedule from each affiliate company can be checked using affiliate company
management module. The Clover Company also can check which companies available
are for a certain date. Additionally, the Clover Company can check the status of an
affiliate company about how many order that request its service, whether all the request
have been confirmed, etc. The Clover Company also can send e-mail to any affiliate
company if there is something urgent to ask. Moreover, the company can see its schedule
and get reminded for upcoming events by the system too. While, for report generation
there are report generator module and finance report module. Report generator module is
used generate many kind of reports from the system database. It can produce reports like
customer data report, affiliate companies report, report about the orders received in a
certain period, etc. These reports can be used for an onscreen viewing only or printed to
be used as meeting materials. And finally, The Company’s finance department can use
finance report module to generate the company’s financial report. It has many categories
of what period of time should the report show and also report for general condition or
report on per case basis (e.g. report for each order).

41
2. Hardware Requirements
The minimum hardware specification to operate this system is:
9. Intel Pentium IV processor or better
10. Minimum 512 Mb RAM
11. Color Monitor
12. Keyboard
13. Mouse with scroll button
14. 160 GB hard disk
15. DSL Internet connection
16. Laser Printer or Dot Matrix Printer

For the web server itself, we will host the website on another commercial web server, so
we don’t need to buy the expensive web server computer for the company.

3. Software Requirements
 Development Software
The software that is used to develop this new system:
1. Notepad ++
2. PHP editor
3. PHP (Personal Home Page)
4. phpMyAdmin
5. FileZilla
6. Apache HTTP server
7. MySQL
8. Adobe Dreamweaver
9. Adobe Photoshop
10. Core FTP

 Operational Software
The minimum requirement of the software to operate the system:
1. Windows XP or Windows Vista
2. Internet Browser (Mozilla Firefox v.2 or Internet Explorer 7)

42
III. PROCESS FLOW
The DFD (Data Flow Diagram) of the system is as follows:
1. Proposed System Context Diagram

Order Confirmation
Order
Customer Affiliate Company

Receipt

Payment Company’s Confirmation


System

Order Updated
management
Financial Data Data
Adjustment
Request Report
Management
Adjust Finance Report
data
Finance Request
Report
Report
Financial Management
Updated Finance
Data

43
2. Proposed System 1st level Data Flow Diagram
Confirmation
Confirmation
1.0
Customer Receive Affiliate Company
Order Order
Order

Payment
Order
Receipt Data

Update Order data Updated


Data
2.0
Sales
Process Order data

System Data
Center

Update
Financial data
3.0
Adjust Finance Data Update

Adjustment
Updated Updated
Finance Management
Data
Data

Financial Finance Management


Report Detailed Data

4.0
Request Report Request Report
Report
Management Report

44
3. 2nd level Data Flow Diagram (1.0 Receive Order)
Customer
4.

Order

Customer detail

Order 1.1
Customer Detail
Confirm
confirmation
Customer
Detail
New customer detail

Order Confirmation
Availability detail

1.2
Confirm
Availability
Schedule

Update schedule

Order Data Order

Confirmation

Affiliate Company

45
2nd level Data Flow Diagram (2.0 Sales Process)

Customer

Payment
Receipt

2.1
Process
Payment

Order Detail
Update Order Detail
Payment
Status

2.2
Prepare
Update
Documentation Order Detail
Order Data

Update
Sales Data

Sales

46
5. 2nd level Data Flow Diagram (3.0 Update)

Updated Data Affiliate Company

Adjustment
Financial Management
Schedule

Adjustment
Updated Finance Data
Sales
Requested Data 3.1

Receive
Order Data Data Requested Data

Schedule
Requested Data
New Data

Updated Data Updated Data

3.2 Updated Data


Update
Data
Updated Management Data

47
6. 2nd level Data Flow Diagram (4.0 Report)

Schedule

Schedule
Sales Detail Order Data

4.1
Sales detail Collect & Order detail
Sort
Information

Relevant information

Request
report Request
4.2 report
Prepare
Report

Finance Report Management Report


Financial
Management

48
IV. ILLUSTRATIVE SUPPORTIVE
INPUT OUTPUT PROCESS CONTROL
CONTENT  Registration  Receipt  Register new  Validate
Form  Order customer customer
 Order Confirmation  Issue order registration
 Payment  Order confirmation  Log in, user ID
 Schedule  Finance report  Receive and password
 Order  Updated payment  Confirm
Confirmation finance data  Generate schedule
 Financial Data  Updated payment  Payment
 Report request management receipt reminder
(financial) data  Select  Validate order
 Finance data  Management payment detail
adjustment report method  Validate
 Management  Check financial data
data Payment  Validate
adjustment Method finance report
 Report request  Check  Validate
(management) availability management
schedule data
 Issue order to adjustment
affiliate
company
 Receive
confirmation
 Receive
financial data
 Receive
financial
report request
 Update
financial data
 Generate
financial
report
 Receive
management
report request
 Generate
management
report
 Receive
management
data
adjustment
 Update
management
data
VOLUME  About 3 orders  Same volume
per month as customer

49
 About 10 registration
payments per  Same volume
month as payment
 About 10
customer
registration per
month
TIMING  As and when  As soon as  Real time
customer possible, processing
register timing is
 As and when crucial to  Batch
customer make customer Processing
order and registration,
payment order, and
payment
 Generate
monthly
financial
report
 Generate
monthly
management
report
FREQUENCY  Daily –  Daily –  Performed on
customer customer order demand
registration, confirmation
order, and and receipt
payment  Monthly –
 Monthly – financial
Report report and
Request management
report
EQUIPMENT  Registration  E-mail  PCs  Form with
form  Phone  Printers verification
 Order form  Printed code
 Phones Hardcopies
 E-mail
LOCATION  Clover  Clover  Respective  Respective
company’s company’s areas areas
website website (Customer, (Customer,
affiliate, and affiliate, and
administrator administrator
area) area)
PEOPLE  Customers  Customers  Customers  Department
 Finance Staff  Finance Staff  Finance Staff managers
 Logistic Staff  Logistic Staff  Logistic Staff  System
 Management  Management  Management administrator
 Affiliate  Affiliate  Affiliate
company’s company’s company’s
staffs staffs staffs

50
V. PROBLEMS & LIMITATIOS
There are some problems faced by the Clover Company with their current system:

 Problem to Get order


The customer can only place their order in office hours, because the customer
needs to manually call the company to speak with a staff.

 Ineffective communication
Because the EO team consists of so many persons who have different tasks, the
head will need to get report from each person by calling them one by one.
And if there is any changes of requirement from the customer (e.g. changes of
place), the head will need to call the person who is in charge of it.

 Problem with payment tracking


The payment is made and written manually, so it will take a bit long time if the
company needs information about it and also the customer needs to meet the staff
personally in order to make the payment.

 Inadequate financial report


The financial report is on per case basis. So the company doesn’t have detailed
information of all the transaction that has been made.

 Difficult to evaluate all the company’s activities


The current system will discard all the information about the previous events and
order, so at the end of working year it is difficult to analyze all these information
in order to improve the company’s productivity.

 Unsynchronized information with affiliation companies


The Clover Company affiliated with several other companies such as food
supplier, printing company, decorations, etc. Every time the Clover Company gets
an order, it needs to contact each of these companies asking for their availability
for a certain date. This is ineffective because they have to do it for each order.

 Lack of publication and advertising


The current system doesn’t help the Clover Company to advertise its business and
to expand their business range. Because they just depend on the events like
wedding exhibition and also mouth to mouth publication.

51
VI. SCOPE & COSTRAITS

Here we will describe the scope and constraints of this project.

a. Project Scope
This project will develop an online system to help Clover Company as an event
organizer company, to make their working procedure more effective in certain areas.
These areas include:
1) Order management
2) Customer management
3) Receive online payment
4) Schedule synchronization with affiliate companies
5) Generate reports for financial and management

So, this system won’t help the company to do its technical works on the field, such as
surveying the event place, choosing the right persons to do certain things, etc.

b. Project Constraints
There are some constraints for this system:
i) Time Constraint
There are two types of time constraints, present and future. Present time
constraints are requirement that must be met as soon as the system is developed or
implemented, while future time constraints are the requirements that will be
necessary at some time in the future.

The present constraint of the system is that the system must be able to take over
the old manual functions from the current system. Example: manage orders,
manage customers, receive payments, and synchronize schedule with the affiliate
companies. These constraints must be met as soon as the system is implemented
because these requirements are crucial for the company’s daily operation.

On the other hand, the future constraints of the system are to make
synchronization between the main office with the branch offices, which is not
important now because the company haven’t had any branch yet.

ii) Internal & External Constraint


Most of the system’s constraints come from internal company’s requirement
because the company’s staff demands a better and more efficient system to help
them to do their works and also from the management in order to make the
company performs better.
The external constraint will affect just few things about the online payment
feature that implemented in the system. Because the security matter of the online
payment such as to protect the privacy of the customer and to secure the
transaction, the system needs to follow standard requirement from outside the
company such as the bank requirement and also how to implement secured site
for payment using PayPal, e-NETS, Visa, etc.

52
iii) Mandatory Constraint
The mandatory constraints of the system are constraints that are absolutely
essential to be met because if these requirements is failed to be satisfied, then the
company’s operation will be suspended.

Examples of these mandatory constraints are:


 Order Management
 Customer Management
 Synchronization with affiliate companies

iv) Desirable Constraint


Desirable constraints are constraints that are less important than the mandatory
constraint. The system still able to do its main purpose for the company without
these constraints, but if these constraints are met, the system will be better.

Examples of these desirable constraints are:


 Online payment
 Generate report for Finance and Management department

53
DOCUMETATIO DESIG

I. Description Of ew System


I. a. arrative
Clover Company’s Online System

This online system will be able to facilitate the company’s customer to place their
order online. So virtually the customer will be able to access the system anywhere as long
as the customer has an internet access. Before a customer can place their order, he/she
has to register first by filling the registration form. After the customer submits the
registration form, the system will send an e-mail to the customer’s e-mail to verify the
registration. After the registration is verified, now the customer can place their order.
While filling the order form, the customer will get many options to customize his/her
order specification, such as options for catering company, event documentation, event
place, etc. The customer will also able to make online payment for their order.

All the data and information inputted in this system will be stored in a database.
Data about the customer registration, order data, online payment data, company’s
financial data, and also data about the affiliate companies is stored in the system’s
database. Besides storing data, the database will also used to generate various reports
according to the company’s need.

Another system’s features for the customer are order tracking feature and
customer feedback feature. Firstly, the order tracking feature allows the customer to get
up to date information about the progress of his/her order. The customer will also be able
to make changes to his/her order specification or get informed by the company if the
order’s specification must be changed. Secondly, the customer can give a feedback to the
company through the system if the customer is not satisfied by the company’s service or
system or if the customer sees a room for improvement. This customer feedback will be
reviewed by the company and be considered as suggestion to improve the company’s
system or service.

Besides providing services for the company’s customer, the online system will
also helps the company’s relation with its affiliate companies such as food Supplier
Company, logistic company, event documenter company, printing company, etc. The
online system will provide feature for a representative of each affiliate company to login
into the system. After the affiliate company’s representative has login to the system, now
he/she can use the system’s features for the affiliate company. There are some system
feature for the affiliate company, they are: User Profile Module, Booking Status Module,
and Feedback Module. The User Profile Module is used to display the detail information
about the affiliate company, the user can edit or update some of this information if there
is any changes in the affiliate company’s profile like contact number or address.

54
The last part of the system is the administrator area, this part is used by the staffs
of the Clover Company and no unauthorized person can access this area as this area is
secured using password and the login page is not appear in the website’s main page. So,
the staff of the company will need to open the login page, enter the user id and password,
and then login to the system. After the staff login in the system, then he/she can use the
features of the system that are: order management module, customer management
module, affiliate company management module, company schedule and reminder, report
generator, and finance report module.

Using the order management module provides ability for the Clover Company’s staff
to manage all the orders from the customers. The staff can see each order detail and
update the order preparation progress when it’s necessary. The Clover Company can tell
the customer if there is any change to the order specification through this module.
Customer management module will help the company to manage its customer data. The
availability schedule from each affiliate company can be checked using affiliate company
management module. The Clover Company also can check which companies available
are for a certain date. Additionally, the Clover Company can check the status of an
affiliate company about how many order that request its service, whether all the request
have been confirmed, etc. The Clover Company also can send e-mail to any affiliate
company if there is something urgent to ask. Moreover, the company can see its schedule
and get reminded for upcoming events by the system too. While, for report generation
there are report generator module and finance report module. Report generator module is
used generate many kind of reports from the system database. It can produce reports like
customer data report, affiliate companies report, report about the orders received in a
certain period, etc. These reports can be used for an onscreen viewing only or printed to
be used as meeting materials. And finally, The Company’s finance department can use
finance report module to generate the company’s financial report. It has many categories
of what period of time should the report show and also report for general condition or
report on per case basis (e.g. report for each order).

55
I. b. Illustration Supporting arrative
I. b. 1. Company’s Organization Chart

Top
Management

Financial Logistic
Marketing

Director Advertising Supervisor Accountant Logistic Assistant


Coordinator

Market
Research & Treasurer Agent
Analyst

56
I. c. Process Flows
I. c. 1. Proposed System Context Diagram

Order Confirmation
Order
Customer Affiliate Company

Receipt

Schedule

Payment Company’s Confirmation


System

Order Updated
management
Financial Data Data
Adjustment
Request Report
Management
Adjust Finance Report
data
Finance Request
Report
Report
Financial Management
Updated Finance
Data

57
I. c. 2. Proposed System 1st level Data Flow Diagram
Confirmation
Confirmation
1.0
Customer Receive Affiliate Company
Order Order
Order

Payment
Order
Receipt Data

Update Order data Updated


Data
2.0
Sales Schedule
Process Order data

System Data
Center

Update
Financial data
3.0
Adjust Finance Data Update

Adjustment
Updated Updated
Finance Management
Data
Data

Financial Finance Management


Report Detailed Data

4.0
Request Report Request Report
Report
Management Report

58
I. c.3. 2nd level Data Flow Diagram (1.0 Receive Order)
Customer

Order

Customer detail

Order 1.1
Customer Detail
Confirm
confirmation
Customer
Detail
New customer detail

Order Confirmation
Availability detail

1.2
Confirm
Availability
Schedule

Update schedule

Order Data Order


Update schedule

Confirmation
3.0

Affiliate Company Update


Schedule

59
I. c. 4. 2nd level Data Flow Diagram (2.0 Sales Process)

Customer

Payment
Receipt

2.1
Process
Payment

Order Detail
Update Order Detail
Payment
Status

2.2
Prepare
Update
Documentation Order Detail
Order Data

Update
Sales Data

Sales

60
I. c. 5. 2nd level Data Flow Diagram (3.0 Update)

Updated Data Affiliate Company

Adjustment
Financial Management
Schedule

Adjustment
Updated Finance Data
Sales
Requested Data 3.1

Receive
Order Data Data Requested Data

Schedule
Requested Data
New Data

Updated Data Updated Data

3.2 Updated Data


Update
Data
Updated Management Data

61
I. c. 6. 2nd level Data Flow Diagram (4.0 Report)

Schedule

Schedule
Sales Detail Order Data

4.1
Sales detail Collect & Order detail
Sort
Information

Relevant information

Request
report Request
4.2 report
Prepare
Report

Finance Report Management Report


Financial
Management

62
II. Detailed Design
II. a. Entity Relationship Diagram

Customer

Payment Order Event

Schedule_distribution Schedule

Affiliate Service

Entities:
a. Customer
i. customer_id
ii. name
iii. gender
iv. date_of_birth
v. e-mail
vi. phone
vii. ic/passport number
viii. password

b. Affiliate
i. affiliate_id
ii. name
iii. phone
iv. e-mail
v. password
vi. service
vii. address
viii. description

63
c. Order
i. order_id
ii. customer_id
iii. schedule_id
iv. event
v. event_date
vi. event_time
vii. additional_info
viii. date
ix. pay_mode
x. pay_status

d. Schedule
i. schedule_id
ii. date

e. Payment
i. payment_id
ii. order_id
iii. date
iv. amount
v. remain

f. Event
i. Event
ii. Description
iii. Price
iv. Venue
v. Food
vi. Documentation
vii. Publication
viii. Entertainment

g. Service
i. service
ii.service_desc

h. Schedule_Distribution
i. schedule_id
ii. affiliate_id
iii. order_id
iv. confirmation
v. note

64
b. Data Structure

a. Customer
Detail information of the customer
Data Element Data Type Size Description Validation
customer_id Integer 5 Primary Key No duplicate
name Varchar 100 Customer name -
gender Varchar 1 Customer gender M/F
date_of_birth Date - Customer date of birth dd/mm/yyyy
e-mail Varchar 100 Customer e-mail e-mail format
IC/Passport no. Varchar 20 Customer IC/Passport -
Password Varchar 20 Customer Password -
Phone Varchar 10 Customer phone no. Number

b. Affiliate
Data Element Data Type Size Description Validation
affiliate_id Integer 5 Primary Key No duplicate
name Varchar 100 Affiliate name -
Phone Varchar 20 Affiliate phone no. Number
e-mail Varchar 100 Affiliate e-mail e-mail format
Password Varchar 20 Affiliate Password -
Service Varchar 100 Affiliate company’s -
service
Address Text - Affiliate address
Description Text - Affiliate description

c. Order
Data Element Data Type Size Description Validation
Order_id Integer 5 Primary Key No duplicate
Date Date - Order’s date dd/mm/yyyy
customer_id Integer 5 Customer’s id Valid id
Schedule_id Integer 5 Schedule’s id Valid id
Event Varchar 50 Event description -
Event_date Date - Event Date -
Event_time Time - Event time -
Additional_info Text - Additional info about -
event
Pay_mode Varchar 10 Customer payment -
mode
Pay_status Varchar 10 Customer payment -
status

d. Schedule
Data Element Data Type Size Description Validation
schedule_id Integer 5 Primary Key No duplicate

65
Date Date - Available date dd/mm/yyyy

e. Payment
Data Element Data Type Size Description Validation
payment_id Integer 5 Primary Key No duplicate
Order_id Integer 5 Payment type Valid id
date Date - Payment date dd/mm/yyyy
Amount Decimal 20 Amount of payment Numeric
remain Decimal 20 Customer’s id Valid id

f. Admin
Data Element Data Type Size Description Validation
admin_id Integer 5 Primary Key No duplicate
e-mail Varchar 100 Affiliate e-mail e-mail format
Password Varchar 100 Affiliate Password -
Name Varchar 100 Affiliate Name -

g. ews
Data Element Data Type Size Description Validation
news_id Integer 5 Primary Key No duplicate
news title Varchar 100 News title -
News content Memo - News content -
Picture Varchar 100 News picture address -
news_date Date - Date of the news dd/mm/yyyy
News_time Time - Time of the news Hh/mm
News_days Varchar 100 Day of the news -
Counter Integer 5 Number the website -
visited

66
II. c. Architectural Design

Event Organizer System

*
Start Body End

o o o
News Login Register

o o
Customer Administrator

o o o o o o
Profile Make Order Order Status Payment Report Manage

o
Affiliates

o o o
Profile Order Status

67
Main Menu

Register Login News

Affiliates Customer Administrator

Profile Reports
Profile
Make Order Order Maintenance

Payment Manage Customer/


Affiliate company
Order Status
Order Status
Manage News

Confirm

Check Order

68
II. d. Procedural Design
II. d. 1. System Flowchart

Start

Display
Main Menu

Get
Choice

News No Register No Login No Exit

Yes Yes Yes Yes

End
Display
News
A B

69
A

Get Information

Display
Information

Add to database

Display Main
Menu

70
B

Display
login screen

Get
Choice

customer No affiliate No admin

Yes
Yes Yes
Get
Id & password

Compare with
database

Correct No

Yes

customer No affiliate No admin

Yes Yes Yes

C D E

71
C

Display
welcome screen

Get
Choice

No Make No No Order No
profile order payment status logout

Yes Yes Yes Yes Yes

Display
C1 C2 C3 C4 Main Menu

72
C1 C3
C4

Display form
Display Display
profile data profile data

Get info
Get choice Get choice

No Update
Change Database No
C Change C

Display
Display form Confirmation
Display form

C2
Get data C Get data

Display form
Update database Update database

Get info

Update
Database

Display
Confirmation

C 73
D

Display
welcome screen

Get
Choice

No Order No
profile status logout

Yes Yes Yes

Display
D1 D2 Main Menu

74
D1 D2

Display
profile data Display
order status

Get choice

Get choice

No
Change D
No
Confirm Get reason

Display form Yes

Update
database
Get data

D
Update database

75
E

Display
welcome screen

Get
Choice

order manage manage


No No customer & No No
reports maintenance news logout
affiliate

Yes Yes Yes Yes Yes

Display
E1 E2 E3 E4 Main Menu

76
E2
E1

Display
Display order list
Menu

Get report Get choice


type

No
Make report Order E
from
database

Display
order menu
Display
Report

Get choice
E

Edit

Display
form

Get info

Update
database

E2 77
E3 E4

Display Display
order list news list

Get choice Get choice

No No
Order E Order E

Display Display
order menu order menu

Get choice Get choice

Edit Edit

Display Display
form form

Get info Get info

Update Update
database database

E3 78 E4
II. e. Interface Design

In this part, we will show rough design of the system’s interface. The system will
be displayed to the user as web pages, so it will more or less have the typical design of a
web page such as header and left panel with buttons or hyperlinks. The buttons and text
that will be shown here is just the essential buttons and text in the system. The actual
system will have decorative elements such as pictures, texts, and features.

II. e. 1. Common interface elements


Common interface elements are interface elements that will be shown in all the
pages. There are three items fall on this category: header, left panel, and footer. Since
these two items will be present in all the screens, so we will explain them separately here
to reduce redundancy.

II. e. 1. i. header
header

Header image

Hyperlink 1 Text 1 Hyperlink 2

No. Item Type Description


1. Header image Picture Picture and company logo
2. Hyperlink 1 Hyperlink Go to respective user page
3. Text 1 Text Login status of user
4. Hyperlink 2 Hyperlink Will show “login” or “logout”

79
II. e. 1. ii. left panel
Left panel
Hyperlink 1

Hyperlink 2

Hyperlink 3

Hyperlink 4

Hyperlink 5

Hyperlink 6

Hyperlink 7

Hyperlink 8

No. Item Type Description


1. Hyperlink 1 Hyperlink Home
2. Hyperlink 2 Hyperlink News
3. Hyperlink 3 Hyperlink Login
4. Hyperlink 4 Hyperlink Register
5. Hyperlink 5 Hyperlink Party Packages
6. Hyperlink 6 Hyperlink Vendor
7. Hyperlink 7 Hyperlink About Us
8. Hyperlink 8 Hyperlink Contact us

II. e. 1. iii. footer


footer

Hyperlink 1 Hyperlink 2 Hyperlink 3 Hyperlink 4 Hyperlink 5 Hyperlink 6

Text 1

No. Item Type Description


1. Hyperlink 1 Hyperlink Home
2. Hyperlink 2 Hyperlink News
3. Hyperlink 3 Hyperlink Login
4. Hyperlink 4 Hyperlink Register
5. Hyperlink 5 Hyperlink About Us
6. Hyperlink 6 Hyperlink Contact us
7. Text 1 Text Copyright

80
II. e. 2. Main Menu

Header

Left
panel
content

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Content Text, pictures The content of main page,
newest news, promotion,
services, etc.

81
II. e. 3. ews

Header

Text 1

Text 2
Left
panel
Text 3

Text 4

hyperlinks

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Text 1, 2, and 3 Text and Hyperlink News title and hyperlink
5. Text 4 Text Page indicator
6. Hyperlinks Hyperlink Page navigator

82
II. e. 4. Login

Header

Text 1

Text 2 Text box 1


Left
panel
Text 3 Text box 2

Button

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Text 1 Text Customer login (default)
5. Text 2 Text User id
6. Text 3 Text Password
7. Text box 1 Text input
8. Text box 2 Password input
9. Button Button Submit button

83
II. e. 5. Customer

Header

Hyperlink 1 Hyperlink 2

Left
panel Hyperlink 3 Hyperlink 4

Hyperlink 5 Hyperlink 6

Hyperlink 7

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Hyperlink 1 Hyperlink Profile
5. Hyperlink 2 Hyperlink Make Order
6. Hyperlink 3 Hyperlink Payment
7. Hyperlink 4 Hyperlink Order status
8. Hyperlink 5 Hyperlink Feedback
9. Hyperlink 6 Hyperlink User Guide
10. Hyperlink 7 Hyperlink Logout

84
II. e. 6. Profile

Header

Left Profile
panel

Hyperlink 1 Hyperlink 2

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Hyperlink 1 Hyperlink Edit
5. Hyperlink 2 Hyperlink Back
6. Profile Text Customer/affiliate company’s
profile from database

85
II. e. 7. Make order

Header

Left Order form


panel

Button Hyperlink 1

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
Text, text box,
Form that customer fill to make
4. Order Form radio button, check
new order.
box, combo box
5. Button Button Submit button for order form
6. Hyperlink 1 Hyperlink Back

86
II. e. 8. Payment

Header

Order information Button


Left
panel

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Order information Text Order information
Button to do online payment via
5. Button Button
paypal

87
II. e. 9. Order status (Customer)

Header

Text 1 Hyperlink

Text 2 Hyperlink
Left
panel
Text 3 Hyperlink

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Text 1, 2, and 3 Text and Hyperlink Order 1, 2, and 3 (if any)
7. Hyperlink Hyperlink Order Detail

88
II. e. 10. Affiliate

Header

Hyperlink 1 Hyperlink 2

Left
panel
Hyperlink 3 Hyperlink 4

Hyperlink 5

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Hyperlink 1 Hyperlink Profile
5. Hyperlink 2 Hyperlink Order Status
6. Hyperlink 3 Hyperlink Feedback
7. Hyperlink 4 Hyperlink User Guide
8. Hyperlink 5 Hyperlink Logout

89
II. e. 12. Order status (Affiliate)

Header

Text 1 Hyperlink 1 Hyperlink 2

Text 2 Hyperlink 1 Hyperlink 2


Left
panel
Text 3 Hyperlink 1 Hyperlink 2

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Text 1, 2, and 3 Text and Hyperlink Order 1, 2, and 3 (if any)
5. Hyperlink 1 Hyperlink Confirm
6. Hyperlink 2 Hyperlink Reject

90
II. e. 13. Administrator

Header

Hyperlink 1 Hyperlink 2

Left
panel Hyperlink 3 Hyperlink 4

Hyperlink 6 Hyperlink 7

Hyperlink 8

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Hyperlink 1 Hyperlink Reports
5. Hyperlink 2 Hyperlink Order management
6. Hyperlink 3 Hyperlink Manage customer & Affiliate
7. Hyperlink 4 Hyperlink Manage News
8. Hyperlink 5 Hyperlink Manage Payment
9. Hyperlink 6 Hyperlink User Guide
10. Hyperlink 7 Hyperlink Logout

91
II. e. 14. Report

Header

Text 1 Combo box

Left
panel
Button

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Text 1 Text Report Type
5. Combo Box Combo box List of available report types
6. Button Button Submit button to execute
selected report type

92
II. e. 15. Order management

Header

Text 1 Hyperlink 1

Text 2 Hyperlink 1
Left
panel
Text 3 Hyperlink 1

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Text 1, 2, and 3 Text and Hyperlink Order 1, 2, and 3 (if any)
5. Hyperlink 1 Hyperlink Order Detail

93
II. e. 16. Manage customer & affiliate

Header

Hyperlink 1 Hyperlink 2

Hyperlink 3
Left
panel
Text 1 Hyperlink 4

Text 2 Hyperlink 4

Text 3 Hyperlink 4

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Text 1, 2, and 3 Text and Hyperlink Customer/affiliate 1, 2, and 3 (if
any)
5. Text 4 Text Page indicator
6. Hyperlinks Hyperlink Page navigator
7. Hyperlink 1 Hyperlink Customer list
8. Hyperlink 2 Hyperlink Affiliate list
9. Hyperlink 3 Hyperlink Add profile
10. Hyperlink 4 Hyperlink Edit

94
II. e. 17. Manage ews

Header

Hyperlink 1

Left Text 1 Hyperlink 2 Hyperlink 3


panel

Text 2 Hyperlink 2 Hyperlink 3

Text 3 Hyperlink 2 Hyperlink 3

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Text 1, 2, and 3 Text and Hyperlink News 1, 2, and 3 (if any)
5. Hyperlink 1 Hyperlink Add News
6. Hyperlink 2 Hyperlink Edit News
7. Hyperlink 3 Hyperlink Delete News

95
II. e. 18. Register

Header

Left Registration form


panel

Button Hyperlink 1

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
Text, text box,
Form that customer fill to
4. Registration Form radio button, check
register.
box, combo box
5. Button Button Submit button for order form
6. Hyperlink 1 Hyperlink Back

96
II. e. 19. About us

Header

Left
panel
content

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Content Text, pictures The content of about us –
company’s profile

97
II. e. 20. Contact us

Header

Left
panel
content

Footer

No. Item Type Description


1. Header Refer to II. e. 1. i. header
2. Left Panel Refer to II. e. 1. ii. left panel
3. Footer Refer to II. e. 1. iii. footer
4. Content Text, pictures The content of contact us page –
company’s contact and address.

98
III. Hardware and Software Selection

III. a. Hardware specification


The minimum hardware specification to operate this system is:
17. Intel Pentium IV processor or better
18. Minimum 512 Mb RAM
19. Color Monitor
20. Keyboard
21. Mouse with scroll button
22. 160 GB hard disk
23. DSL Internet connection
24. Laser Printer or Dot Matrix Printer

For the web server itself, we will host the website on another commercial web
server, so we don’t need to buy the expensive web server computer for the
company.

III. b. Software Requirements


 Development Software
The software that is used to develop this new system:
1. Notepad ++
2. PHP editor
3. PHP (Personal Home Page)
4. phpMyAdmin
5. FileZilla
6. Apache HTTP server
7. MySQL
8. Adobe Dreamweaver
9. Adobe Photoshop
10. Core FTP

 Operational Software
The minimum requirement of the software to operate the system:
1. Windows XP or Windows Vista
2. Internet Browser (Mozilla Firefox v.2 or Internet Explorer 7)

99
4. DEVELOPMET AD IMPLEMETATIO

4.1 Software Development Testing

Justification of testing technique

Testing is an important phase in system development. We need to test our event organizer
system in order to check and find out about the bugs or errors. The main purpose of our
testing activity is not to show off that our system is error free, but to find out as many
bugs and error as we can and then do a proper debugging activity. Because the faster we
can detect bugs in our system, it will be easier for us as the developer team to debug it, on
the other hand an unidentified bug in the system development process will be hard to
debug if it is uncovered after the system has been implemented. In conclusion, we do this
testing activity in order to find as much bug as possible and debug it, we need to note that
even after thorough testing and debugging process, a completely error free program is
impossible to achieve, so we aim for 98% error free program.

The errors that we can find in a program can be classified as:


1. Syntax Error
Syntax Errors, also known as compilation error, happen from the violations of the
standard programming language rules and format. Syntax error is easy to detect as
the compiler or interpreter can detect it. An example for this kind of error is like
forget to type a semicolon after a line of command.

2. Logic Error
Logic error is caused by more human error factor, such as misunderstanding of
the algorithms used, so it will produce an incorrect result. We can’t use any
interpreter or compiler to detect a logic errors as it has nothing to do with the
compilation process of the program.

3. Runtime Error
Runtime error is a kind of error that can only detected by running the program. It
is the same with logic error that we cannot use any interpreter or compiler to
detect this runtime error

4. Semantic Error
Semantic error is caused by the programmer fail to understand the meaning of the
syntax used in the respective programming language.

After looking at those four classification of error, we make our testing strategy in a way
that it will be able to detect all kind of error listed above. Our developed testing strategy
for the event organizer system covers things like choosing the right testing technique;
develop a test plan, test cases, test execution, test result and the test logs. There are many
testing technique available out there, but after closely considering about which testing

100
technique that we would like to implement for our event organizer system testing activity,
we will choose the black box testing technique.

Black box testing, also known as interface testing, is a testing technique where the test
cases is derived from the system’s requirement. So, we will take the event organizer
system’s requirement as a reference to generate the test cases and we will try to see if the
actual system can fulfill its requirements.

In our black box testing activity, we create the test cases based on our system’s
requirement, so what the requirement says that the system can do, the actual system
should be able to do the function as stated in the requirement. Basically, we can decide if
the test is successful or not just by looking whether the stated function in the requirement
can be performed by the system or not.

Our consideration of choosing black box testing as our testing method is because black
box testing can do many things such as:
• Loading, executing, and terminating errors
• Detecting any Interface error
• Find out about performance errors
• Detect bug in data structure
• Detect missing functions

Below is a diagram for the procedure of doing black box testing:


Derrive test data
System
Requirement

Implementation

Expected results

Result Execute test


match?

No, then debug the system

yes, go to the next test case

101
Test Cases
Test Test Objectives Expected results
Cases
1 Check the new customer An alert will appear and the input box
registration process, test the with invalid input value will become red
input validation and the correct input box will become
green.
2 Test if the customer can access The customer can access the customer
the customer page after he/she page.
have activated his/her account.
3 Test the edit profile in customer The customer can edit his/her profile
page using the edit profile
4 Test the “make order” module to Customer can make a new order using
make a new event order the make order module, a notification
will be given to the customer in the
customer page
5 Test if the customer can see The customer’s order(s) displayed. The
his/her order status and customer can see his/her order status and
information using the “order information using the “order status”
status” module module
6 Test if the customer can use the Customer will be redirected to Paypal’s
“payment” module to pay website after clicking the “pay now”
his/her order through Paypal button.
7 Test if the customer will be Customer redirected back to customer
redirected to the website after page with a status message
making payment
8 Test if an affiliate company can Affiliate company can login and
log in and access the affiliate redirected to the affiliate page
page
9 Test if the an affiliate company Affliate company’s profile can be
can change its company changed using “profile” module
information using the “profile”
module
10 Test if the affiliate company can Orders for the respective affiliate
check its order status using company will be displayed
“order status” module
11 Test that an affiliate company A form to fill the rejection reason will
need to give a reason if it want appear before the status is changed as
to reject an order rejected
12 Test that the confirmation status The confirmation status of the order
can be changed to “confirmed” become “confirmed”
13 Test if the affiliate company can A feedback is sent to the administrator’s
send a feedback using the e-mail after the feedback form has been
“feedback” module (also successfully submitted
applicable to customer)
14 Test that the administrator can The administrator can login and access

102
login and access the admin page the admin page
15 Test that the administrator can The selected type of report is displayed
generate the desired report using
“report” module
16 Test the “manage order” module All the order in the database is displayed
to show all the order in the
database
17 Test that administrator can edit The order information is updated after
an order information the editing process
18 Test the “customer & affiliate” The information about customer and
module to show information affiliate company is displayed according
about customers and affiliate to which one is choosen
companies
19 Test that the administrator can The administrator can add a customer to
add a new customer (also the database
applicable to affiliate company)
20 Test that the administrator can New news added to the website and is
add a new news to the website accessible from the “news” page
using the “manage news”
module

103
Test logs
Test Cases Test Result
1 Successful
2 Successful
3 Successful
4 Successful
5 Successful
6 Successful
7 Successful
8 Successful
9 Successful
10 Successful
11 Successful
12 Successful
13 Successful
14 Successful
15 Successful
16 Successful
17 Successful
18 Successful
19 Successful
20 Successful

104
Test Logs
Test case 1
Objectives Check the new customer registration process, test the input validation
Test Action Input a wrong value in the registration form
Expected Test Result An alert will appear and the input box with invalid input value will
become red and the correct input box will become green.
Actual Test Result As shown below
Conclusion Succeeded
Before
Step 1

Step 2

105
Incorrect input

106
After
Step 1

Step 2

107
Test case 2
Objectives Test if the customer can access the customer page after he/she have
activated his/her account.
Test Action Complete the registration form, click on activation link on the e-mail,
and then login from the login page
Expected Test Result The customer can access the customer page after the account is
activated
Actual Test Result As shown below
Conclusion Succeeded
Before
Step 1

Step 2

108
Step 3

After

109
110
Test case 3
Objectives Test the edit profile in customer page
Test Action Change the customer information in the “profile” module then click
save changes
Expected Test Result The customer can edit his/her profile using the edit profile
Actual Test Result As shown below
Conclusion Succeeded
Before
Step 1

Step 2

111
112
After

113
Test case 4
Objectives Test the “make order” module to make a new event order
Test Action Complete the order form inside the “make order” module
Expected Test Result Customer can make a new order using the make order module, a
notification will be given to the customer in the customer page
Actual Test Result As shown below
Conclusion Succeeded
Before
Step 1

Step 2

114
Step 3

After

115
116
Test case 5
Objectives Test if the customer can see his/her order status and information using
the “order status” module
Test Action Click the “order status” module from customer page
Expected Test Result The customer’s order(s) displayed. The customer can see his/her
order status and information using the “order status” module
Actual Test Result As shown below
Conclusion Succeeded
Before

After

117
118
Test case 6
Objectives Test if the customer can use the “payment” module to pay his/her
order through Paypal
Test Action Click the “pay now” button in the “payment” module
Expected Test Result Customer will be redirected to Paypal’s website after clicking the
“pay now” button.
Actual Test Result As shown below
Conclusion Succeeded
Before

After

119
120
Test case 7
Objectives Test if the customer will be redirected to the website after making
payment
Test Action Complete the paypal payment
Expected Test Result Customer redirected back to customer page with a status message
Actual Test Result As shown below
Conclusion Succeeded
Before

After

121
Test case 8
Objectives Test if an affiliate company can log in and access the affiliate page
Test Action Fill the login form with the e-mail and password of an affiliate
company, in this case we use :
Affiliate company name : ABCfood
e-mail : thomaset_2000@yahoo.com
password: abcpass
Expected Test Result Affiliate company can login and redirected to the affiliate page
Actual Test Result As shown below
Conclusion Succeeded
Before

After

122
123
Test case 9
Objectives Test if the an affiliate company can change its company information
using the “profile” module
Test Action Change the affiliate company’s information in the “profile” module
then click save changes
Expected Test Result Affliate company’s profile can be changed using “profile” module
Actual Test Result As shown below
Conclusion Succeeded
Before
Step 1

Step 2

124
125
After

126
Test case 10
Objectives Test if the affiliate company can check its order status using “order
status” module
Test Action Click the “order status” module from affiliate page
Expected Test Result Orders for the respective affiliate company will be displayed
Actual Test Result As shown below
Conclusion Succeeded
Before

After

127
Test case 11
Objectives Test that an affiliate company need to give a reason if it want to reject
an order
Test Action Click reject for one of the order
Expected Test Result A form to fill the rejection reason will appear before the status is
changed as rejected
Actual Test Result As shown below
Conclusion Succeeded
Before
Step 1

Step 2

128
129
After

130
Test case 12
Objectives Test that the confirmation status can be changed to “confirmed”
Test Action Click on the “confirm” for an order
Expected Test Result The confirmation status of the order become “confirmed”
Actual Test Result As shown below
Conclusion Succeeded
Before

After

131
Test case 13
Objectives Test if the affiliate company can send a feedback using the
“feedback” module (also applicable to customer)
Test Action Click the “feedback” module, fill the feedback form, and then click
the “send feedback” button
Expected Test Result A feedback is sent to the administrator’s e-mail after the feedback
form has been successfully submitted
Actual Test Result As shown below
Conclusion Succeeded
Before
Step 1

Step 2

132
133
After

134
Test case 14
Objectives Test that the administrator can login and access the admin page
Test Action Fill the e-mail and password for an administrator from the login page
The data used in this test:
Name : David
e-mail : ngekzzz@hotmail.com
password : cloverpass
Expected Test Result The administrator can login and access the admin page
Actual Test Result As shown below
Conclusion Succeeded
Before

After

135
136
Test case 15
Objectives Test that the administrator can generate the desired report using
“report” module
Test Action Select a report type and the click the “view report” button
Expected Test Result The selected type of report is displayed
Actual Test Result As shown below
Conclusion Succeeded
Before

After

137
Test case 16
Objectives Test the “manage order” module to show all the order in the database
Test Action Click the “manage order” module from admin page
Expected Test Result All the order in the database is displayed
Actual Test Result As shown below
Conclusion Succeeded
Before

After

138
Test case 17
Objectives Test that administrator can edit an order information
Test Action Click “detail” for an order, click the “edit order information” link, fill
the form, and then click submit
Expected Test Result The order information is updated after the editing process
Actual Test Result As shown below
Conclusion Succeeded
Before
Step 1

Step 2

139
140
Step 3

Step 4

141
After

142
Test case 18
Objectives Test the “customer & affiliate” module to show information about
customers and affiliate companies
Test Action Click on the “customer & affiliate” module from admin page
Expected Test Result The information about customer and affiliate company is displayed
according to which one is choosen
Actual Test Result As shown below
Conclusion Succeeded
Before

After
Customer

143
144
Affiliate

145
Test case 19
Objectives Test that the administrator can add a new customer (also applicable to
affiliate company)
Test Action Click “add customer” button, fill the form, and then click submit
Expected Test Result The administrator can add a customer to the database
Actual Test Result As shown below
Conclusion Succeeded
Before
Step 1

Step 2

146
147
Step 3

After

148
149
Test case 20
Objectives Test that the administrator can add a new news to the website using
the “manage news” module
Test Action Click on the “add news” in the “manage news” module, fill the form
and then click the “save” button
Expected Test Result New news added to the website and is accessible from the “news”
page
Actual Test Result As shown below
Conclusion Succeeded
Before
Step 1

Step 2

150
151
Step 3

After

152
153
4.2 Implementation: Conversion and Training Plan

The final stage is that we need to implement the program into the event
organization system so that it will perform its task with efficient and
effective. For this implementation, we can do 4 different technique like :

 Pilot Conversion = At first, the new system will be implemented at


the certain branch of the organization. After the new system at the
branch is considered success, it will be implemented at the whole
organization.

 Direct Conversion = The new system will be implanted directly to


the organization so the old system will be replaced directly. This
technique is considered very risky because if the new system is not
working properly and the old system has been discarded, it will be a
disaster to the organization.

 Parallel Conversion = In this technique, the new system and the old
system will be used at the same time. If the new system is satisfied,
then the old system will be discarded and replaced by the new system.
This is the safest method to implement the new system.

 Phased Conversion = The new system will be implemented part by


part. For example: for the first, part A is implemented then after the
part A is considered as success, then the part B will start to be
implemented and so on until the whole old system is replaced by the
new system.

After we see all the advantages and disadvantage of these techniques, I will
consider choosing parallel conversion since it is the safest method to
implement new system. It will cost more for implementation but the entire
data still has a backup in case that some of the new system fail. After all the
new system has been implemented successfully into the organization, the old
system will be discarded. The other reason I choose parallel conversion as a
suitable technique is that because I cannot use the pilot conversion since I do
not have any branch office, I cannot use the direct conversion because that
this technique is too risky. The reason is we do not have any back up if the
new system fails. The last is phased conversion, we cannot use this

154
technique is because that we have to split the program that we have made
and we do not prepare to split the new system program. So the parallel
conversion is the best technique to choose and also the safest way.

This is a schema how will the conversion work:

Back Up Current System

Convert the old system into new


system

Is it the No Debug
expected
result?

Yes

Discard the old system

So we already know about the planning to implement the new system to the
organization which is parallel conversion. At first, the old system and new
system will work together which means that if a customer come to the
office, the staff will still need to write it down on a paper then it will input to
the new system.

155
In the conversion plan, people who has to take a part in this plan are :
 System Analyst
 Programmer
 Database Administrator
 IT support technician

When doing the conversion, all people will be involved. For programmer
and system analyst who has a big part at the implementation stage, they have
to prepare if something or some errors occur during the implementation
stage.

Person who has to be there to make sure everything is going according to


plan is system analyst since he is the one who plan all the implementation
stage and phase. If there is some mistake, system analyst is the one who has
to responsible and system analyst has to monitor every single step in the
implementation stage.

Another important person who has to involve in this stage is the main
programmer of the new system. He is the one who make the program so if
something happen; he has to make a quick move to resolve the problem.
Also if the user needs assistance when using the new program, the
programmer will be there to guide them. The database administrator holds a
responsibility to ensure that the database is able to add, delete, edit, store and
update.

The last thing is the IT support technician; he is the one that responsible for
the hardware for the new system. For example, installation of the hardware
and also if there is a problem with the internet connection because the
system needs to go online.

156
4.3 Implementation : User Guide.

4.3.1 Installation and Running the System.

There are two main ways on how to run our event organizer system:
1. Using the online version
2. Use it locally in a computer

1. Using the online version


Using the online version of our project is the simplest way to use our event
organizer system. All you need is a computer with web browser and connection to the
Internet. Open the web browser in the computer and then go to this address:
http://davidkeiththomas.freevar.com/eowebsite/

Because using the online version of our system is the simplest way, so we
recommend you to use this method. However, if you want to try to run our system locally
in your computer, you can follow the guide to use the system locally in the next section.

2. Use it locally in a computer


In order to be able to run our system locally in your computer, you will need to
install some software. The first software is XAMPP, it is used to run the PHP and the
MySql server. The second software is Argosoft mail server that will act as a local mail
server for the computer. The third software is Mozilla Thunderbird to retrieve the e-mail
from the mail server. The last software is a web browser, in this guide we will use
Mozilla Firefox 3.

Installation Steps:
1. Step 1
Download and install XAMPP from its website
http://www.apachefriends.org/en/xampp-windows.html
Follow the installation wizard and don’t forget to check the option to install
Apache and Mysql as a service. We recommend to install it in C:/ Drive’

2. Step 2
Download and install Argosoft mail serve from its website
http://www.argosoft.com/RootPages/Download.aspx
Download the Mail server freeware (agsmail.exe)
Follow the installation wizard, run the argosoft mail server. Then you need to do
some configuration.
 Click on tools – option – then go under local domains tab
 Add two local domains (localhost and localhost.com) as the local domain
 Click ok
 Click tools – user – add new user
 Enter “webmaster” as user name then enter your full name and password

3. Step 3

157
Download and install Mozilla Thunderbird from its website
http://www.mozilla.com/en-US/thunderbird/
Follow the installation wizard.
Then open the Mozilla Thunderbird and do some configurations:
 Click file – new – account
 Email Account – next
 Enter your name as in the argosoft mail server
 Enter e-mail address as webmaster@localhost
 Click next
 Enter “localhost” as the incoming server, click next
 Enter your desired incoming name, click next
 Enter “webmaster@localhost” as account name, click next
 Click Finish
 Repeat this configuration with webmaster@localhost.com as the e-mail
address and account name

4. Step 4
Step 4 is installing Mozilla firefox as a web browser, but you can use any other
web browser in your computer, you can download Mozilla firefox from this
website
http://www.mozilla.com/en-US/firefox/all.html
Install and follow the installation wizard

5. Step 5
Copy the “eowebsite” folder found in the CD to “C:\xampp\htdocs” (assumed that
you install the XAMPP in “C:\”

6. Step 6
Copy the “eodb” folder found in the CD to “C:\xampp\mysql\data” (assumed that
you install the XAMPP in “C:\”

7. Step 7
Open your web browser, then type in the address bar
http://localhost/eowebsite
Now you can start to use the website

158
4.3.2 Operating Guide

4.3.2.1 Customer Page

In this part, we explain about how to use the website. There are 3 sections in this website,
like: Customer page, Administrator page, and Affiliate company page. If you want to
login as a visitor, you have to register first. You can choose register link at the left side of
the website.

The register form will look like this. All you need to do is to fill in the form and then
after you fill the entire box, you just simply click submit to receive the confirmation
email to your email inbox. You need go to your email inbox to activate the account then
you can login to the website as the customer.

159
That is the layout of the user login page. You can login by entering your email address
and your own password. After you login successfully, you will enter this page

In this page, customer is able to change their own profile, make an order, check order
status, make a payment, send a feedback, read the user guide and logout.

160
If customer wants to change their profile, the page will look like this:

After customer make a necessary change in their own profile, they need to save changes
and then customer will be back into customer main page.

If customer chooses to make an order, they can just click the link in the customer main
page and the page will go to this page

In this page, customer needs to choose which event between wedding and birthday party
that they want us to organize then click submit to continue to the other page.

161
In this page customer can choose which packages they want to and if they want to know
about the description of the package they can click the link. After they choose which
package they want, they can go to next page.

In this page, customer needs to fill in the date, the time, and additional info. After that
they just need to submit it.

162
If the customer wants to check their order status, they can choose order status from the
customer main page.
If the customer wants to make a payment, they just need go to payment page.

There is status whether the order has been paid, half-paid or unpaid. The customer can
make a payment by using paypal.

If the customer wants to send a feedback to the organization, they can choose the
feedback module in the customer main page.

163
This is the page of feedback form. Customer need to fill the title box and then write the
feedback to us in the box below title. After the customer finish write about the feedback,
they can send it to our organization.

4.3.2.2 Administrator Page

In this section, I will give the guide about how to use administrator page. All you need to
do is login by using email address and password that has been created by administrator.
The administrator main page will look like this:

There are 7 modules in the administrator section which are reports, manage order,
customer & affiliates, manage news, manage payment, user guide and logout.

If the administrator wants to see the reports of the active order, all payment, the income
of current month, etc. They can access the reports module from the administrator main
page.

164
In this page, administrator can choose which report they want to produce. After choose
certain report to produce, they just need to click ‘view report’ to go to next page.

The administrator can choose to print the report or they just want to see it and then go
back to previous page and look for another report.

If the administrator wants to manage order, they can just go to manage order module in
the administrator main menu.

165
In this page, administrator can check whether the affiliate has been confirmed the order
or not and also they can check the payment that customer has been made whether it has
been fully paid, half-paid, or unpaid. If the administrator wants to see more detail about
the order, he/she can just click the detail link on the right side.

If the administrator wants to see the list of customer data and affiliate data, they need to
go to customer and affiliate module in the administrator main menu.

166
In this page, administrator can choose between customer data or affiliate company data.
Administrator also can add a customer or affiliate company data in this page and also if
they are able to see more detail information about customer and affiliate company.

If administrator wants to manage the news for the main page of this website which is
containing about news of this organization event.

167
In this page, administrator can add, edit or delete the news from the database.

If the administrator wants to manage the payment of the order, they can choose the
manage payment module in the administrator main page. Administrator can add, edit and
delete payment in this module. This module is required for producing the report in the
report module.

There is also user guide module in this administrator main page. This user guide is for a
guide that is similar to this.

Logout is a module to logout from the administrator main page.

4.3.2.3 Affiliate Company Page

In this affiliate company page section, the affiliate company is able to change their
profile, see the order status, send a feedback to the organization, see the user guide and
logout.

168
This is the affiliate company main page. If the affiliate company wants to change their
profile, they can go to profile module in the main page.

This is affiliate company profile page. If they want to change their profile, they can
change it here and after they change the profile, they have to save changes.

169
If the affiliate company wants to see the order detail, they can go to order detail module
in the affiliate company main page.

In this page, Affiliate Company can see about their order detail.

If the affiliate company wants to send a feedback to the organization, they can choose the
feedback module in the customer main page

170
This is the page of feedback form. Affiliate Company needs to fill the title box and then
write the feedback to us in the box below title. After the Affiliate Company finish write
about the feedback, they can send it to our organization.

Logout is a module to logout from the Affiliate Company main page.

171
4.4 Critical Appraisal: Combined

Clover Event Organizer is an online-based system that is developed to make this


organization to become a bigger, wider and more effective. From previous method that is
we have to make a record manually and search for certain record manually, now we can
add and search for a certain record by using computer which is faster and more efficient.
This system is using PHP.net and MySQL for programming and database language.

There are some major modules that we can see in this system:

By combining PHP.net for the online system and MySQL for database will make this
system is powerful because you can modify the system easily and retrieve information
easily.

This system is built in three section which are user section, administrator section and
affiliate company section. The user section is for customer who wants to use our service.
They have to register first if they want to login. Inside the system, the customer is able to
choose the package they want to choose or they can choose the vendor manually. There is
also payment service PayPal if they want to make an online payment.

The Administrator section is for the administrator who wants to manage the order or
confirm the order that has been accepted by the vendor. We can produce a different
record. For example records like: payment, income of current month, income for the last
three month, etc. There is affiliate and customer module for the list of customer and
affiliate company details. And there is user guide module for people who still need a
guide about how to use the system.

The Affiliate section is for the affiliate company to check the order status or if they want
to change their profile. They also can send a feedback to Clover event organizer if they
feel something is not suitable or something is wrong with the website. There is also a user
guide for Affiliate Company about how to use the website.

We try to make this website is user friendly so that the user is not having a hard time to
access the website. The last thing to do is to create this documentation and user manual
for the end-user so that they can understand about the basic of this system. There are a lot
of problems occurred when we develop this system but in the end, we finally finish it.
This system is not yet a perfect system. There are still some of things that we have to
modify in the future, for example like: Affiliate Company can upload the schedule into
the system, so that they can automatically book from the website.

172
4.5 Critical Appraisal: Individual

Critical Appraisal by: David Irawan Adhiguna 018800004337

At the first time I heard that this project will be a group project, I feel relieved because 2
project before I have to do myself. Then we have to choose whether we want to create an
offline system or online system. I and my group thought and considered which the best
for this project is between online and offline. After all discussion, we finally choose the
online system because it will more challenging for us. We start to make a proposal for the
system, and for the first try, the proposal is need to revised again because of some point is
still not right and we have to change it. The second try, the proposal was accepted and we
were very happy.

We have to finish this project in two terms time so we complete until analysis
documentation in the first term and the second term we start with design documentation.
The second term, we have to do coding and we still do not know about the programming
language for online-based system so we need to study the programming language first.
We choose PHP.net for online programming and MySQL for database. Both language we
need to study first and the time given is very short. At first I thought we are not going to
make it in time because there are too much to do. But with Thomas magnificent brain, we
can overcome the difficulties and we are able to finish it in time. Also there are times that
Keith is not able to attend some time when we work together because he was ill and
cannot make it to our place. So the work was a little bit delayed.

We try to search free hosting website so that we can upload our work there. At first, we
found that we can pay them every month so that we can upload our website. We thought
we want to pay for it for 2 months but the rules said that we need to rent it for minimum
12 months. After read that rules, our spirit is down for a moment but there is a free
hosting website so we still able to upload our website. Thanks God!!

We found many problems when we do the coding because the language is very new for
me and we need to learn the language from the website that is provide a lesson for this
language. There are many challenging situation that we need to think hard to get the logic
so we can get what we want in the coding.

The lesson that I have learned from making this system is that teamwork is much needed
when we have to create a group project because without teamwork, it will never be done
in time. Thank you for Thomas and Keith that we have been working together for this
project.

173
Critical Appraisal by: Keith ishan Fernandez 018800004402

I feel excited when I have to do this project because I and my teammate choose to create
an online system. I really want to do online system from before I go to college because it
looks interesting and fun to do it. We start to do the project and Thomas also starts to
split the work among us. With Thomas capability for leadership in the team, we are able
to do our job but because my health is not in the good condition, sometimes I cannot
attend when we have to gather to think about how the system works and so on.

When we choose to use PHP.net and MySQL to create the system, I a little bit worry
because we need to learn a whole new programming language with very little time. I
worry that time will not be enough for us to do the project but in the end, I am very
relieved that the project is finished in time. That is all thanks to teamwork that we have
been through.

The most important thing in the project that we have to develop in groups is that we have
to have a good leader that can manage the whole team so that all of us are able to work
together so the work will finish faster and more efficient.

174
Critical appraisal by Thomas Setiabudi (018800004137)

Thanks God that our team is able to finish this project. It is a very satisfying feeling to
know that finally we can finish this project. Back then, early term 2 2008, when we start
the C2006 module, I do not have any idea about what system that I should make for this
module. Then, after my group has been formed, we, David, Keith, and I discussed about
what system we should make. We start with a passion and confusion because we
suggested some idea to our project lecturer, Ms. Mullai (Second term lecturer is Mr.
Pala), and she keep saying that our system idea is just too simple, we just don’t know
what we should do that time.

The second week, David come out with an idea about making a system for an event
organizer. This idea comes from his real life friends who set up an event organizing
company. I am interested in this idea and we start to discuss more about this system. The
idea of developing a system for event organizer is very interesting as I think that there is
not many similar projects like this out there.

After we decide that we will make this project as an online system, the next thing that we
need to decide is what programming language we want to use. Luckily, we can make a
fast decision about this matter. We decide to use PHP and use MySql for the database
because I have tried to use PHP and it is quite easy to use. The next thing that I want to
do is to put our project in the Internet, so I searched some free web-hosting website and
we found the host that we use for our project now, www.ueuo.com, it is free and only
have a small number of advertisement.

The process of doing this project is sometimes very stressful and not always runs
smoothly, but we able to keep our commitment and focus to finish this project. My main
part in this project is to do the programming part of the system. It is very challenging to
learn the programming language by myself, but luckily we have learn about javascript,
html, css, and sql in our diploma, so I just need to focus in studying the PHP. There are
some hard times when I just run out of ideas to make some of the system’s process but
luckily David is a very good friend to discuss with. He give me many input and
inspiration about the programming concept of the system so I able to figure out how to do
all the system’s function. The color theme of the website is another thing, I was not so
good about color taste but David also help me to choose the light blue color that
amazingly looks nice for our website.

In conclusion, we have learned many things by the time we finish this two-term project.
We have learn that team work is not always runs smooth, human management,
commitment, and time management is some very important skill that we need to have in
order to survive a long run team project like this. For myself, I have a completely new
experience by learning a new programming language by self-study. Finally, I want to say
that I will never forget my experience in doing this project, my team, and all the pressure
and satisfaction feeling that I get during the project.

175
5. Program Listing (Source Code)

Customer.php
<?php session_start();
if ($_SESSION[status]!="customer")
{
header("location:login.php");
}
else
{
?>
<html>
<head>
<LINK rel="stylesheet" type="text/css" href="config/eowebstyle.css">
<title>Clover Company Site</title>
</head>

<body background="images/elements1.jpg">
<?php include "config/connection.php"; ?>
<div align="center" id="general">
<table width="800" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<?php include "header.php"; ?>
<tr>
<td width="200" valign="top">
<?php include "left_pane.php"; ?>
</td>
<td width="600" valign="top">
<table width="600" border="0" cellspacing="10" cellpadding="0">
<?php
if($_GET[info] == "success")
{
echo"
<tr>
<td colspan='2' align='center'><font
color='green'><b><u></u>Payment process success, please wait maximum of 2 working
days for payment status update.</b></font></td>
</tr>
";
}
elseif($_GET[info] == "dateexist")
{
echo"
<tr>
<td colspan='2' align='center'><font color='red'><b>Order
fail, date already booked</b></font></td>

176
</tr>
";
}
elseif($_GET[info] == "profilesuccess")
{
echo"
<tr>
<td colspan='2' align='center'><font
color='green'><b>Profile Updated Successfully</b></font></td>
</tr>
";
}
elseif($_GET[info] == "ordersuccess")
{
echo"
<tr>
<td colspan='2' align='center'><font
color='green'><b>Your order has been added to database</b></font></td>
</tr>
";
}
else
{
echo"&nbsp";
}
?>
<tr>
<td colspan="2">
Welcome <?php echo "<b>$_SESSION[username],</b>"; ?>
<br>This is your <b><font color="blue">Customer
Page</font></b>,
<br>you can click on the modules below to do the corresponding
function:
</td>
</tr>
<tr>
<td align="center">
<table border="0" cellspacing="0" cellpadding="15">
<tr>
<td>
<table>
<tr>
<td align="center"
width="90" height="20" class="modul"><a style="color:white" class="module"
href="profile_cust.php">Profile</a></td>
</tr>

177
</table>
</td>
<td>
<table>
<tr>
<td align="center"
width="90" height="20" class="modul"><a style="color:white" class="module"
href="order_form.php?step=1">Make Order</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td align="center"
width="90" height="20" class="modul"><a style="color:white" class="module"
href="cust_order_status.php">Order Status</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td align="center"
width="90" height="20" class="modul"><a style="color:white" class="module"
href="payment.php?">Payment</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td align="center"
width="90" height="20" class="modul"><a style="color:white" class="module"
href="feedback.php">Feedback</a></td>
</tr>
</table>
</td>
<td>
<table>
<tr>

178
<td align="center"
width="90" height="20" class="modul"><a style="color:white" class="module"
href="customer_guide.php">User guide</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<table>
<tr>
<td align="center"
width="50" height="20" class="modul"><a style="color:white" class="module"
href="logout.php">Logout</a></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<?php include "footer.php"; ?>
</tr>
</table>
</div>
</body>
</html>
<?php } ?>

Profile_cust.php
<?php session_start();
if ($_SESSION[status]!="customer")
{
header("location:login.php?mode=customer");
}
else
{
?>
<html>
<head>
<LINK rel="stylesheet" type="text/css" href="config/eowebstyle.css">
<title>Clover Company Site</title>

179
<SCRIPT LANGUAGE="JavaScript" src="config/validate_date.js"></script>
</head>

<body background="images/elements1.jpg">
<?php include "config/connection.php";?>
<div align="center" id="general">
<table width="800" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<?php include "header.php"; ?>
<tr>
<td width="200" valign="top">
<?php include "left_pane.php"; ?>
</td>
<td width="600" valign="top">
<form action="cust_prof_process.php" method="post" name="reg_form">
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3">
<center>YOUR PROFILE
<?php if ($_GET[stat]=="empty")
{
echo "<br><font color='red'>Please
fill all the fields</font>";
}
elseif ($_GET[stat]=="none")
{
echo "<br>";
}
else
{
echo "<br>";
}
?>
<?php
$sql = mysql_query ("SELECT *
FROM
customer
WHERE
name = '$_SESSION[username]'");
$userdata = mysql_fetch_array ($sql);
?></center><br><br>
</td>
</tr>
<tr>
<td>Name</td>
<td>:</td>

180
<td><b><?php echo"$userdata[name]"; ?></b></td>
</tr>
<tr>
<td>Gender</td>
<td>:</td>
<td><select name="gender">
<?php
if($userdata[gender]=="M")
{
echo "
<option value='M' selected>Male</option>
<option value='F'>Female</option>";
}
else
{
echo "
<option value='M'>Male</option>
<option value='F' selected>Female</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>date of birth (yyyy-mm-dd)</td>
<td>:</td>
<td><input name="date" type="text" size="10" maxlength="10" value=<?php
echo"$userdata[date_of_birth]"; ?>> </td>
</tr>
<tr>
<td>e-mail address</td>
<td>:</td>
<td><input name="e_mail" type="text" value=<?php echo"$userdata[e_mail]";
?>></td>
</tr>
<tr>
<td>IC / Passport number</td>
<td>:</td>
<td><input name="ic_passport" type="text" value=<?php
echo"$userdata[ic_passport]"; ?>></td>
</tr>
<tr>
<td>Phone number</td>
<td>:</td>
<td><input name="phone" type="text" value=<?php echo"$userdata[phone]";
?>></td>

181
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="password" type="password" value=<?php
echo"$userdata[password]"; ?>></td>
</tr>
<tr>
<td>Confirm Password</td>
<td>:</td>
<td><input name="password_c" type="password" value=<?php
echo"$userdata[password]"; ?>></td>
</tr>
<tr>
<td colspan="3" align="center">
<br><br>
<input name="submit" type="submit" value="save changes" onclick="return
checkRegister2()">&nbsp;<input name="back" type="button" value="back"
OnClick="javascript:history.go(-1)">
</td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<?php include "footer.php"; ?>
</tr>
</table>
</div>
</body>
</html>
<?php } ?>

Cust_prof_process.php
<?php
session_start();
if ($_SESSION[status]!="customer")
{
header("location:login.php?mode=customer");
}
else
{
if($_POST[gender]=="" || $_POST[date]=="" || $_POST[e_mail]==""||
$_POST[ic_passport]=="" || $_POST[phone]=="" || $_POST[password]=="")
{

182
header("location:profile_cust.php?stat=empty");
}
else
{
include "config/connection.php";

$sql = mysql_query("SELECT * FROM `customer` WHERE `name` =


'$_SESSION[username]'");
$data = mysql_fetch_array ($sql);

$sql2 = mysql_query("UPDATE `eodb`.`customer`


SET
`gender` = '$_POST[gender]',
`date_of_birth` = '$_POST[date]',
`e_mail` = '$_POST[e_mail]',
`ic_passport` =
'$_POST[ic_passport]',
`phone` = '$_POST[phone]',
`password` = '$_POST[password]'
WHERE `customer`.`customer_id` =
'$data[customer_id]'
");

header("location:customer.php?info=profilesuccess");
}
}
?>

Order_detail_cust.php
<?php session_start();
if ($_SESSION[status]!="customer")
{
header("location:login.php");
}
else
{
?>
<html>
<head>
<LINK rel="stylesheet" type="text/css" href="config/eowebstyle.css">
<title>Clover Company Site</title>
</head>

<body background="images/elements1.jpg">
<?php include "config/connection.php";?>
<div align="center" id="general">

183
<table width="800" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<?php include "header.php"; ?>
<tr>
<td width="200" valign="top">
<?php include "left_pane.php"; ?>
</td>
<td width="600" valign="top">
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3"><center>Order Detail</center><br><br></td>
</tr>
<?php
$sql = mysql_query("SELECT * FROM `order` WHERE
`order_id` = '$_GET[id]'");
$order = mysql_fetch_array($sql);
$sql2 = mysql_query("SELECT `affiliate`.`name`,
`affiliate`.`address`
FROM
`schedule_distribution`, `affiliate`
WHERE
`schedule_distribution`.`affiliate_id` = `affiliate`.`affiliate_id`
AND
`schedule_distribution`.`order_id` = '$_GET[id]'
AND `affiliate`.`service` =
'venue'");
$venue = mysql_fetch_array($sql2);
$sql3 = mysql_query("SELECT * FROM `customer` WHERE
`customer_id` = '$order[customer_id]'");
$customer = mysql_fetch_array($sql3);
$sql4 = mysql_query("SELECT * FROM `event` WHERE `event`
= '$order[event]'");
$event = mysql_fetch_array($sql4);
$sql5 = mysql_query("SELECT `affiliate`.`name`,
`affiliate`.`service`, `schedule_distribution`.`confirmation`
FROM `affiliate`,
`schedule_distribution`
WHERE
`affiliate`.`affiliate_id` = `schedule_distribution`.`affiliate_id` AND
`schedule_distribution`.`order_id` = '$order[order_id]'
");
?>
<tr>
<td align="left"><b>Order Id</b></td>
<td>:</td>
<td align="left"><?php echo"$order[order_id]" ?></td>

184
</tr>
<tr>
<td align="left"><b>Order Made on</b></td>
<td>:</td>
<td align="left"><?php echo"$order[date]" ?></td>
</tr>
<tr>
<td align="left"><b>Customer Name / id</b></td>
<td>:</td>
<td align="left"><?php echo"$customer[name] / $customer[customer_id]"
?></td>
</tr>
<tr>
<td colspan="3"><hr></td>
</tr>
<tr>
<td align="left"><b>Event Package</b></td>
<td>:</td>
<td align="left"><?php echo"$order[event]" ?></td>
</tr>
<tr>
<td align="left"><b>Package Description</b></td>
<td>:</td>
<td align="left"><?php echo"$event[description]" ?></td>
</tr>
<tr>
<td align="left"><b>Event Date</b></td>
<td>:</td>
<td align="left"><?php echo"$order[event_date]" ?></td>
</tr>
<tr>
<td align="left"><b>Event Time</b></td>
<td>:</td>
<td align="left"><?php echo"$order[event_time]" ?></td>
</tr>
<tr>
<td align="left"><b>Venue</b></td>
<td>:</td>
<td align="left"><?php echo"$venue[name]" ?></td>
</tr>
<tr>
<td align="left"><b>Venue Address</b></td>
<td>:</td>
<td align="left"><?php echo"$venue[address]" ?></td>
</tr>
<tr>

185
<td colspan="3"><hr></td>
</tr>
<tr>
<td align="left"><b>Service Price</b></td>
<td>:</td>
<td align="left"><?php echo"$event[price]" ?></td>
</tr>
<tr>
<td align="left"><b>Payment Mode</b></td>
<td>:</td>
<td align="left"><?php echo"$order[pay_mode]" ?></td>
</tr>
<tr>
<td align="left"><b>Payment Status</b></td>
<td>:</td>
<td align="left"><?php echo"$order[pay_status]" ?></td>
</tr>
<tr>
<td colspan="3"><hr></td>
</tr>
<tr>
<td colspan="3"><b><u>Affiliate Company / Vendor Information</u></b></td>
</tr>
<?php
while($affiliate = mysql_fetch_array($sql5))
{
echo "
<tr>
<td align='left'><b>$affiliate[service]
vendor</b></td>
<td>:</td>
<td>$affiliate[name]</td>
</tr>
<tr>
<td align='left'><b>Status</b></td>
<td>:</td>
<td>$affiliate[confirmation]</td>
</tr>
<tr>
<td colspan='3' align='center'>&nbsp</td>
</tr>
";
}
?>
<tr>
<td colspan="3"><hr></td>

186
</tr>
<tr>
<td colspan="3"><b>Additional Note From Customer</b></td>
</tr>
<tr>
<td colspan="3"><?php echo"$order[additional_info]";?><br><br></td>
</tr>
<tr>
<td colspan="3" align="center">
<a href="javascript:window.print();">Print</a> - <a
href="javascript:history.go(-1);">Back</a>
<br><br>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<?php include "footer.php"; ?>
</tr>
</table>
</div>
</body>
</html>
<?php
}
?>

Feedback.php
<?php session_start();
if ($_SESSION[status]!="customer" && $_SESSION[status]!="affiliate")
{
header("location:login.php");
}
else
{
?>
<html>
<head>
<LINK rel="stylesheet" type="text/css" href="config/eowebstyle.css">
<SCRIPT LANGUAGE="JavaScript" src="config/validate_date.js"></script>
<title>Clover Company Site</title>
</head>
<body background="images/elements1.jpg">
<?php include "config/connection.php";?>
<div align="center" id="general">

187
<table width="800" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<?php include "header.php"; ?>
<tr>
<td width="200" valign="top">
<?php include "left_pane.php"; ?>
</td>
<td width="600" valign="top">
<form action="feedback_process.php" name="feedback_form" method="post">
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" colspan="3"><b><h2>Feedback
Form</h2></b></td>
</tr>
<tr>
<td>Title</td>
<td>:</td>
<td><input name="title" type="text" size="30"></td>
</tr>
<tr>
<td colspan="3">Write Your Feedback in the box below then click
"send feedback"</td>
</tr>
<tr>
<td colspan="3"><textarea name="feedback" cols="60"
rows="10"></textarea></td>
</tr>
<tr>
<td colspan="3" align="center">
<input type="submit" name="submit" value="send
feedback" onclick="return checkFeedback()">
<input type="button" onclick="javascript:history.go(-1)"
value="cancel">
</td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<?php include "footer.php"; ?>
</tr>
</table>
</div>
</body>
</html>

188
<?php
}
?>

Admin.php
<?php session_start();
if ($_SESSION[status]!="admin")
{
header("location:login.php?mode=admin");
}
else
{
?>
<html>
<head>
<LINK rel="stylesheet" type="text/css" href="config/eowebstyle.css">
<title>Clover Company Site</title>
</head>

<body background="images/elements1.jpg">
<?php include "config/connection.php"; ?>
<div align="center" id="general">
<table width="800" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<?php include "header.php"; ?>
<tr>
<td width="200" valign="top">
<?php include "left_pane.php"; ?>
</td>
<td width="600" valign="top">
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2">
Welcome <?php echo "<b>$_SESSION[username],</b>";
?>
<br>This is your <b><font color="blue">Administrator
Page</font></b>,
<br>you can click on the modules below to do the
corresponding function:
</td>
</tr>
<tr>
<td align="center">
<table border="0" cellspacing="0" cellpadding="15">
<tr>
<td>

189
<table>
<tr>
<td align="center"
width="90" height="20" class="modul"><a style="color:white" class="module"
href="report_generator_ad.php">Reports</a></td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td align="center"
width="90" height="20" class="modul"><a style="color:white" class="module"
href="manage_order_ad.php">Manage Order</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td align="center"
width="90" height="20" class="modul"><a style="color:white" class="module"
href="cust_aff.php?mode=customer">Customer & Affiliate</a></td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td align="center"
width="90" height="34" class="modul"><a style="color:white" class="module"
href="manage_news_ad.php">Manage News</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td align="center"
width="90" height="20" class="modul"><a style="color:white" class="module"
href="manage_payment_ad.php">Manage Payment</a></td>
</tr>

190
</table>
</td>
<td>
<table>
<tr>
<td align="center"
width="90" height="34" class="modul"><a style="color:white" class="module"
href="admin_guide.php">User Guide</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<table>
<tr>
<td align="center"
width="50" height="20" class="modul"><a style="color:white" class="module"
href="logout.php">Logout</a></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<?php include "footer.php"; ?>
</tr>
</table>
</div>
</body>
</html>
<?php
}
?>

Report_generator_ad.php
<?php session_start();
if ($_SESSION[status]!="admin")
{
header("location:login.php?mode=admin");
}

191
else
{
?>
<html>
<head>
<LINK rel="stylesheet" type="text/css" href="config/eowebstyle.css">
<title>Clover Company Site</title>
</head>

<body background="images/elements1.jpg">
<?php include "config/connection.php";?>
<div align="center" id="general">
<table width="800" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<?php include "header.php"; ?>
<tr>
<td width="200" valign="top">
<?php include "left_pane.php"; ?>
</td>
<td width="600" valign="top">
<table width="600" border="0" cellspacing="0" cellpadding="0">
<?php
if($_GET[module] == "select" || $_GET[module] == "")
{
echo"
<tr>
<td><center><b>REPORT
SELECTOR</b></center><br><br></td>
</tr>
<tr>
<td>
<form action='?module=report'
method='post'>
<table width='600' border='0' cellspacing='0'
cellpadding='0'>
<tr>
<td align='center'>Select
Report Type:<br><br></td>
</tr>
<tr>
<td align='center'>
<select name='type'>
<option
value='order_all'>All Order</option>
<option
value='order_active'>Active Order</option>

192
<option
value='order_inactive'>Inactive Order</option>
<option
value='event_frequency'>Favourite Event Package</option>
<option
value='affiliate_frequency'>Favourite Affiliate Company</option>
<option
value='customer_order'>Customer & Order</option>
<option
value='payment_all'>All Payment</option>
<option
value='payment_thismonth'>Current Month Income</option>
<option
value='payment_last3months'>Income from last three months</option>
<option
value='payment_receivable'>Expected Income</option>
</select><br><br>
</td>
</tr>
<tr>
<td align='center'><input
type='submit' name='submit' value='View Report'></td>
</tr>
</table>
</form>
</td>
</tr>
";
}
elseif($_GET[module] == "report" && $_POST[type] ==
"order_all")
{
echo"
<tr>
<td align='center'>
<b>All Order Report</b>
</td>
</tr>
<tr>
<td>
";
$sql = mysql_query("SELECT *
FROM `order`
");
while($order_data = mysql_fetch_array($sql))
{ echo"

193
<br>
<table width='600' border='1' cellspacing='0'
cellpadding='0'>
<tr>
<th bgcolor='yellow'>Order id</th>
<th bgcolor='yellow'>Event
package</th>
<th bgcolor='yellow'>Event
date</th>
<th bgcolor='yellow'>Time</th>
<th bgcolor='yellow'>Payment
mode</th>
<th bgcolor='yellow'>Payment
status</th>
<th bgcolor='yellow'>Action</th>
</tr>
<tr>
<td>$order_data[order_id]</td>
<td>$order_data[event]</td>
<td>$order_data[event_date]</td>
<td>$order_data[event_time]</td>
<td>$order_data[pay_mode]</td>
<td>$order_data[pay_status]</td>
<td><a
href='order_detail_ad.php?id=$order_data[order_id]'>Detail</a></td>
</tr>
<tr>
<th colspan='3'
bgcolor='#91b9fc'>Vendor name</th>
<th bgcolor='#91b9fc'>Service</th>
<th colspan='3'
bgcolor='#91b9fc'>Status</th>
</tr>
";

$sql2 = mysql_query("SELECT `affiliate`.`name`,


`affiliate`.`service`, `schedule_distribution`.`confirmation`
FROM
`affiliate`, `schedule_distribution`
WHERE
`affiliate`.`affiliate_id` = `schedule_distribution`.`affiliate_id` AND
`schedule_distribution`.`order_id` = '$order_data[order_id]'
");
while($vendor_data = mysql_fetch_array($sql2))
{
echo "

194
<tr>
<td colspan='3'
align='center'>$vendor_data[name]</td>
<td>$vendor_data[service]</td>
<td
colspan='3'>$vendor_data[confirmation]</td>
</tr>
";
}
echo"
</table>
";
}
echo"
</td>
</tr>
<tr>
<td align='center'>
<br><br><a
href='javascript:window.print()'>Print This Report</a> -
<a
href='report_generator_ad.php?module=select'>Back</a>
</td>
</tr>
";
}
elseif($_GET[module] == "report" && $_POST[type] ==
"order_active")
{
echo"
<tr>
<td align='center'>
<b>Active Order Report</b>
</td>
</tr>
<tr>
<td>
";
$today = date("Y/m/d");
$sql = mysql_query("SELECT *
FROM `order`
WHERE `event_date`> '$today'
");
while($order_data = mysql_fetch_array($sql))
{ echo"
<br>

195
<table width='600' border='1' cellspacing='0'
cellpadding='0'>
<tr>
<th bgcolor='yellow'>Order id</th>
<th bgcolor='yellow'>Event
package</th>
<th bgcolor='yellow'>Event
date</th>
<th bgcolor='yellow'>Time</th>
<th bgcolor='yellow'>Payment
mode</th>
<th bgcolor='yellow'>Payment
status</th>
<th bgcolor='yellow'>Action</th>
</tr>
<tr>
<td>$order_data[order_id]</td>
<td>$order_data[event]</td>
<td>$order_data[event_date]</td>
<td>$order_data[event_time]</td>
<td>$order_data[pay_mode]</td>
<td>$order_data[pay_status]</td>
<td><a
href='order_detail_ad.php?id=$order_data[order_id]'>Detail</a></td>
</tr>
<tr>
<th colspan='3'
bgcolor='#91b9fc'>Vendor name</th>
<th bgcolor='#91b9fc'>Service</th>
<th colspan='3'
bgcolor='#91b9fc'>Status</th>
</tr>
";

$sql2 = mysql_query("SELECT `affiliate`.`name`,


`affiliate`.`service`, `schedule_distribution`.`confirmation`
FROM
`affiliate`, `schedule_distribution`
WHERE
`affiliate`.`affiliate_id` = `schedule_distribution`.`affiliate_id` AND
`schedule_distribution`.`order_id` = '$order_data[order_id]'
");
while($vendor_data = mysql_fetch_array($sql2))
{
echo "
<tr>

196
<td colspan='3'
align='center'>$vendor_data[name]</td>
<td>$vendor_data[service]</td>
<td
colspan='3'>$vendor_data[confirmation]</td>
</tr>
";
}
echo"
</table>
";
}
echo"
</td>
</tr>
<tr>
<td align='center'>
<br><br><a
href='javascript:window.print()'>Print This Report</a> -
<a
href='report_generator_ad.php?module=select'>Back</a>
</td>
</tr>
";
}
elseif($_GET[module] == "report" && $_POST[type] ==
"order_inactive")
{
echo"
<tr>
<td align='center'>
<b>Inactive Order Report</b>
</td>
</tr>
<tr>
<td>
";
$today = date("Y/m/d");
$sql = mysql_query("SELECT *
FROM `order`
WHERE `event_date`< '$today'
");
while($order_data = mysql_fetch_array($sql))
{ echo"
<br>

197
<table width='600' border='1' cellspacing='0'
cellpadding='0'>
<tr>
<th bgcolor='yellow'>Order id</th>
<th bgcolor='yellow'>Event
package</th>
<th bgcolor='yellow'>Event
date</th>
<th bgcolor='yellow'>Time</th>
<th bgcolor='yellow'>Payment
mode</th>
<th bgcolor='yellow'>Payment
status</th>
<th bgcolor='yellow'>Action</th>
</tr>
<tr>
<td>$order_data[order_id]</td>
<td>$order_data[event]</td>
<td>$order_data[event_date]</td>
<td>$order_data[event_time]</td>
<td>$order_data[pay_mode]</td>
<td>$order_data[pay_status]</td>
<td><a
href='order_detail_ad.php?id=$order_data[order_id]'>Detail</a></td>
</tr>
<tr>
<th colspan='3'
bgcolor='#91b9fc'>Vendor name</th>
<th bgcolor='#91b9fc'>Service</th>
<th colspan='3'
bgcolor='#91b9fc'>Status</th>
</tr>
";

$sql2 = mysql_query("SELECT `affiliate`.`name`,


`affiliate`.`service`, `schedule_distribution`.`confirmation`
FROM
`affiliate`, `schedule_distribution`
WHERE
`affiliate`.`affiliate_id` = `schedule_distribution`.`affiliate_id` AND
`schedule_distribution`.`order_id` = '$order_data[order_id]'
");
while($vendor_data = mysql_fetch_array($sql2))
{
echo "
<tr>

198
<td colspan='3'
align='center'>$vendor_data[name]</td>
<td>$vendor_data[service]</td>
<td
colspan='3'>$vendor_data[confirmation]</td>
</tr>
";
}
echo"
</table>
";
}
echo"
</td>
</tr>
<tr>
<td align='center'>
<br><br><a
href='javascript:window.print()'>Print This Report</a> -
<a
href='report_generator_ad.php?module=select'>Back</a>
</td>
</tr>
";
}
elseif($_GET[module] == "report" && $_POST[type] ==
"event_frequency")
{
echo"
<tr>
<td align='center'>
<b>Event Package Order Frequency
Report</b>
</td>
</tr>
<tr>
<td>
<br>
<table width='600' border='1' cellspacing='0'
cellpadding='0'>
<tr>
<th bgcolor='#91b9fc'
align='center'>Event Package</th>
<th bgcolor='#91b9fc'
align='center'>Frequency Ordered</th>
</tr>

199
";
$sql = mysql_query("SELECT `event`.`event`, Count(*)
AS Frequency
FROM `event`,
`order`
WHERE
`event`.`event` = `order`.`event`
GROUP BY
`event`.`event`
ORDER BY
Count(*)");
while($data = mysql_fetch_array($sql))
{
echo"
<tr>
<td align='center'>$data[event]</td>
<td
align='center'>$data[Frequency]</td>
</tr>
";
}
echo"
</table>
</td>
</tr>
<tr>
<td align='center'>
<br><br><a
href='javascript:window.print()'>Print This Report</a> -
<a
href='report_generator_ad.php?module=select'>Back</a>
</td>
</tr>
";
}
elseif($_GET[module] == "report" && $_POST[type] ==
"affiliate_frequency")
{
echo"
<tr>
<td align='center'>
<b>Favourite Affiliate Company
Report</b>
</td>
</tr>
<tr>

200
<td>
<br>
<table width='600' border='1' cellspacing='0'
cellpadding='0'>
<tr>
<th bgcolor='#91b9fc'
align='center'>Id</th>
<th bgcolor='#91b9fc'
align='center'>Name</th>
<th bgcolor='#91b9fc'
align='center'>Service</th>
<th bgcolor='#91b9fc'
align='center'>Total order</th>
</tr>
";
$sql = mysql_query("SELECT `affiliate`.`affiliate_id` ,
`affiliate`.`name` , `affiliate`.`service` , Count( * ) AS Frequency
FROM `affiliate` ,
`schedule_distribution`
WHERE
`affiliate`.`affiliate_id` = `schedule_distribution`.`affiliate_id`
GROUP BY
`affiliate`.`name`
ORDER BY Count( *
) DESC");
while($data = mysql_fetch_array($sql))
{
echo"
<tr>
<td
align='center'>$data[affiliate_id]</td>
<td align='center'>$data[name]</td>
<td
align='center'>$data[service]</td>
<td
align='center'>$data[Frequency]</td>
</tr>
";
}
echo"
</table>
</td>
</tr>
<tr>
<td align='center'>

201
<br><br><a
href='javascript:window.print()'>Print This Report</a> -
<a
href='report_generator_ad.php?module=select'>Back</a>
</td>
</tr>
";
}
elseif($_GET[module] == "report" && $_POST[type] ==
"customer_order")
{
echo"
<tr>
<td align='center'>
<b>Customer & Order Report</b>
</td>
</tr>
<tr>
<td>
";
$sql = mysql_query("SELECT * FROM `customer`");
while($data = mysql_fetch_array($sql))
{
echo"
<br>
<table width='600' border='1' cellspacing='0'
cellpadding='0'>
<tr>
<th bgcolor='#91b9fc'
align='center'>Id</th>
<th bgcolor='#91b9fc'
align='center' colspan='2'>Name</th>
<th bgcolor='#91b9fc'
align='center' colspan='2'>E-mail</th>
<th bgcolor='#91b9fc'
align='center' colspan='2'>Phone</th>
</tr>
<tr>
<td
align='center'>$data[customer_id]</td>
<td align='center'
colspan='2'>$data[name]</td>
<td align='center'
colspan='2'>$data[e_mail]</td>
<td align='center'
colspan='2'>$data[phone]</td>

202
</tr>
<tr>
<th bgcolor='#91b9fc'
align='center'>Order_id</th>
<th bgcolor='#91b9fc'
align='center'>Date</th>
<th bgcolor='#91b9fc'
align='center'>Event</th>
<th bgcolor='#91b9fc'
align='center'>Event date</th>
<th bgcolor='#91b9fc'
align='center'>Time</th>
<th bgcolor='#91b9fc'
align='center'>Pay mode</th>
<th bgcolor='#91b9fc'
align='center'>Status</th>
</tr>
";
$sql2 = mysql_query("SELECT * FROM `order`
WHERE `customer_id` = '$data[customer_id]'");
while($data2 = mysql_fetch_array ($sql2))
{
echo"
<tr>
<td
align='center'>$data2[order_id]</td>
<td
align='center'>$data2[date]</td>
<td
align='center'>$data2[event]</td>
<td
align='center'>$data2[event_date]</td>
<td
align='center'>$data2[event_time]</td>
<td
align='center'>$data2[pay_mode]</td>
<td
align='center'>$data2[pay_status]</td>
</tr>
";
}
$sql3 = mysql_query("SELECT Count(*) AS Total
FROM `order` WHERE `customer_id`='$data[customer_id]'");
$data3 = mysql_fetch_array($sql3);
echo"
<tr>

203
<td align='center'
colspan='5'>Total no. of order</td>
<td align='center'
colspan='2'>$data3[Total]</td>
</tr>
</table>
";
}
echo"
</td>
</tr>
<tr>
<td align='center'>
<br><br><a
href='javascript:window.print()'>Print This Report</a> -
<a
href='report_generator_ad.php?module=select'>Back</a>
</td>
</tr>
";
}
elseif($_GET[module] == "report" && $_POST[type] ==
"payment_all")
{
echo"
<tr>
<td align='center'>
<b>All Payment Report</b>
</td>
</tr>
<tr>
<td>
<br>
<table width='600' border='1' cellspacing='0'
cellpadding='0'>
<tr>
<th bgcolor='#91b9fc'
align='center'>Id</th>
<th bgcolor='#91b9fc'
align='center'>Order id</th>
<th bgcolor='#91b9fc'
align='center'>Date</th>
<th bgcolor='#91b9fc'
align='center'>Amount</th>
<th bgcolor='#91b9fc'
align='center'>Remain</th>

204
</tr>
";
$sql = mysql_query("SELECT * FROM `payment`");
while($data = mysql_fetch_array($sql))
{
echo"
<tr>
<td
align='center'>$data[payment_id]</td>
<td
align='center'>$data[order_id]</td>
<td align='center'>$data[date]</td>
<td
align='center'>$data[amount]</td>
<td
align='center'>$data[remain]</td>
</tr>
";
}
echo"
</table>
</td>
</tr>
<tr>
<td align='center'>
<br><br><a
href='javascript:window.print()'>Print This Report</a> -
<a
href='report_generator_ad.php?module=select'>Back</a>
</td>
</tr>
";
}
elseif($_GET[module] == "report" && $_POST[type] ==
"payment_thismonth")
{
echo"
<tr>
<td align='center'>
<b>Current Month Income Report</b>
</td>
</tr>
<tr>
<td>
<br>

205
<table width='600' border='1' cellspacing='0'
cellpadding='0'>
<tr>
<th bgcolor='#91b9fc'
align='center'>Id</th>
<th bgcolor='#91b9fc'
align='center'>Order id</th>
<th bgcolor='#91b9fc'
align='center'>Date</th>
<th bgcolor='#91b9fc'
align='center'>Amount</th>
<th bgcolor='#91b9fc'
align='center'>Remain</th>
</tr>
";
$year = date("Y");
$month = date("m");
$sql = mysql_query("SELECT * FROM `payment`
WHERE Year(`date`) = '$year' AND Month(`date`) = '$month' ");
while($data = mysql_fetch_array($sql))
{
echo"
<tr>
<td
align='center'>$data[payment_id]</td>
<td
align='center'>$data[order_id]</td>
<td align='center'>$data[date]</td>
<td
align='center'>$data[amount]</td>
<td
align='center'>$data[remain]</td>
</tr>
";
}
echo"
</table>
</td>
</tr>
<tr>
<td align='center'>
<br><br><a
href='javascript:window.print()'>Print This Report</a> -
<a
href='report_generator_ad.php?module=select'>Back</a>
</td>

206
</tr>
";
}
elseif($_GET[module] == "report" && $_POST[type] ==
"payment_last3months")
{
echo"
<tr>
<td align='center'>
<b>Last 3 Months Income Report</b>
</td>
</tr>
<tr>
<td>
<br>
<table width='600' border='1' cellspacing='0'
cellpadding='0'>
<tr>
<th bgcolor='#91b9fc'
align='center'>Id</th>
<th bgcolor='#91b9fc'
align='center'>Order id</th>
<th bgcolor='#91b9fc'
align='center'>Date</th>
<th bgcolor='#91b9fc'
align='center'>Amount</th>
<th bgcolor='#91b9fc'
align='center'>Remain</th>
</tr>
";
$year = date("Y");
$month = date("m");
$pmonth = $month - 3;
$sql = mysql_query("SELECT * FROM `payment`
WHERE Year(`date`) = '$year' AND Month(`date`) BETWEEN '$pmonth' AND '$month'
");
while($data = mysql_fetch_array($sql))
{
echo"
<tr>
<td
align='center'>$data[payment_id]</td>
<td
align='center'>$data[order_id]</td>
<td align='center'>$data[date]</td>

207
<td
align='center'>$data[amount]</td>
<td
align='center'>$data[remain]</td>
</tr>
";
}
echo"
</table>
</td>
</tr>
<tr>
<td align='center'>
<br><br><a
href='javascript:window.print()'>Print This Report</a> -
<a
href='report_generator_ad.php?module=select'>Back</a>
</td>
</tr>
";
}
elseif($_GET[module] == "report" && $_POST[type] ==
"payment_receivable")
{
echo"
<tr>
<td align='center'>
<b>Expected Income Report</b>
</td>
</tr>
<tr>
<td>
<br>
<table width='600' border='1' cellspacing='0'
cellpadding='0'>
<tr>
<th bgcolor='#91b9fc'
align='center'>Order id</th>
<th bgcolor='#91b9fc'
align='center'>Date</th>
<th bgcolor='#91b9fc'
align='center'>Event</th>
<th bgcolor='#91b9fc'
align='center'>Event date</th>
<th bgcolor='#91b9fc'
align='center'>pay_mode</th>

208
<th bgcolor='#91b9fc'
align='center'>Price</th>
<th bgcolor='#91b9fc'
align='center'>Payable</th>
</tr>
";
$total = 0;
$sql = mysql_query("SELECT *
FROM `order`
WHERE `pay_status`
= 'unpaid' OR `pay_status` = 'half'
");
while($data = mysql_fetch_array($sql))
{
echo"
<tr>
<td
align='center'>$data[order_id]</td>
<td align='center'>$data[date]</td>
<td align='center'>$data[event]</td>
<td
align='center'>$data[event_date]</td>
<td
align='center'>$data[pay_mode]</td>
";
if($data[pay_mode] == "half")
{
$divide = 2;
}
else
{
$divide = 1;
}
$sql2 = mysql_query ("SELECT `price`,
`price`/$divide AS Payable FROM `event` WHERE `event` = '$data[event]'");
$data2 = mysql_fetch_array($sql2);
echo"
<td
align='center'>$data2[price]</td>
<td
align='center'>$data2[Payable]</td>
</tr>
";
$total = $total + $data2[Payable];
}
echo"

209
<tr>
<td bgcolor='#91b9fc' align='center'
colspan='5'>Total</td>
<td bgcolor='#91b9fc' align='center'
colspan='2'>SGD $total</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align='center'>
<br><br><a
href='javascript:window.print()'>Print This Report</a> -
<a
href='report_generator_ad.php?module=select'>Back</a>
</td>
</tr>
";
}
?>
</table>
</td>
</tr>
<tr>
<?php include "footer.php"; ?>
</tr>
</table>
</div>
</body>
</html>
<?php
}
?>

Edit_order_process_ad.php
<?php session_start();
if ($_SESSION[status]!="admin")
{
header("location:login.php?mode=admin");
}
else
{
include "config/connection.php";

$esql = mysql_query ("SELECT * FROM `order` WHERE `order_id` =


'$_POST[id]'");

210
$order_ori = mysql_fetch_array($esql);
$sql2 = mysql_query("SELECT * FROM `schedule` WHERE `date` =
'$_POST[date]' AND `date` NOT IN('$order_ori[event_date]')");
$sched_exist = mysql_num_rows($sql2);
if($sched_exist >= 1)
{
header("location:admin.php?info=fail");
}
else
{
if($order_ori[event_date] == $_POST[date])
{
$sched_id = $order_ori[schedule_id];
}
else
{
$add_sched = mysql_query("INSERT INTO `schedule` (`date`)
VALUES ('$_POST[date]')");
$get_sched = mysql_query("SELECT * FROM `schedule`
WHERE `date` = '$_POST[date]'");
$sched_data = mysql_fetch_array($get_sched);
$sched_id = $sched_data[schedule_id];
}

$sql1 = mysql_query("SELECT * FROM `customer` WHERE


`customer_id` = '$_POST[customer]'");
$cust_data = mysql_fetch_array($sql1);
$cust_id = $cust_data[customer_id];

$today_date = date("Y/m/d");

$update_order = mysql_query("UPDATE `eodb`.`order`


SET
`schedule_id` =
'$sched_id',
`event` =
'$_POST[package]',
`event_date` =
'$_POST[date]',
`event_time` =
'$_POST[time]',
`additional_info` =
'$_POST[additional_info]',
`pay_mode` =
'$_POST[payment_mode]',

211
`pay_status` =
'$_POST[pay_status]'
WHERE
`order`.`order_id` =$_POST[id]");

$title = "Order change for $_POST[date]";


$from = "From: webmaster@davidkeiththomas.freevar.com\n";
$from .= "Content-type: text/html \r\n";
$message = "There is a change in order detail or You got an order for
$_POST[date] please confirm your availability: <br>";
$message .= "<a
href='http://localhost/eowebsite/login.php?mode=affiliate'>http://localhost/eowebsite/logi
n.php?mode=affiliate</a>";

if($_POST[venue] != "")
{
$check_aff = mysql_query("SELECT
`schedule_distribution`.`affiliate_id`, `affiliate`.`name`, `affiliate`.`e_mail`
FROM
`schedule_distribution`,`affiliate`
WHERE
`schedule_distribution`.`affiliate_id` = `affiliate`.`affiliate_id`
AND
`schedule_distribution`.`order_id` = '$_POST[id]'
AND
`affiliate`.`service` = 'venue'
");
$affiliate_ori = mysql_fetch_array($check_aff);
if($affiliate_ori[name] == $_POST[venue])
{
$to = $affiliate_ori[e_mail];
mail ($to,$title,$message,$from);
}
else
{
$delete = mysql_query("DELETE FROM
`schedule_distribution`
WHERE
`schedule_distribution`.`order_id` = '$_POST[id]'
AND
`schedule_distribution`.`affiliate_id` = '$affiliate_ori[affiliate_id]'
LIMIT 1
");
$venue_vendor = mysql_query("SELECT * FROM
`affiliate` WHERE `name` = '$_POST[venue]'");

212
$venue_data = mysql_fetch_array($venue_vendor);
$venue_id = $venue_data[affiliate_id];
$sql3 = mysql_query ("INSERT INTO
`schedule_distribution` (`schedule_id`,`affiliate_id`,`order_id`)
VALUES
('$sched_id','$venue_id','$_POST[id]')");

$to = $venue_data[e_mail];
mail ($to,$title,$message,$from);
}
}
if($_POST[food] != "")
{
$check_aff = mysql_query("SELECT
`schedule_distribution`.`affiliate_id`, `affiliate`.`name`, `affiliate`.`e_mail`
FROM
`schedule_distribution`,`affiliate`
WHERE
`schedule_distribution`.`affiliate_id` = `affiliate`.`affiliate_id`
AND
`schedule_distribution`.`order_id` = '$_POST[id]'
AND
`affiliate`.`service` = 'food'");
$affiliate_ori = mysql_fetch_array($check_aff);
if($affiliate_ori[name] == $_POST[food])
{
$to = $affiliate_ori[e_mail];
mail ($to,$title,$message,$from);
}
else
{
$delete = mysql_query("DELETE FROM
`schedule_distribution`
WHERE
`schedule_distribution`.`order_id` = '$_POST[id]'
AND
`schedule_distribution`.`affiliate_id` = '$affiliate_ori[affiliate_id]'
");
$food_vendor = mysql_query("SELECT * FROM
`affiliate` WHERE `name` = '$_POST[food]'");
$food_data = mysql_fetch_array($food_vendor);
$food_id = $food_data[affiliate_id];
$sql4 = mysql_query ("INSERT INTO
`schedule_distribution` (`schedule_id`,`affiliate_id`,`order_id`)
VALUES
('$sched_id','$food_id','$_POST[id]')");

213
$to = $food_data[e_mail];
mail ($to,$title,$message,$from);
}
}
if($_POST[documentation] != "")
{
$check_aff = mysql_query("SELECT
`schedule_distribution`.`affiliate_id`, `affiliate`.`name`, `affiliate`.`e_mail`
FROM
`schedule_distribution`,`affiliate`
WHERE
`schedule_distribution`.`affiliate_id` = `affiliate`.`affiliate_id`
AND
`schedule_distribution`.`order_id` = '$_POST[id]'
AND
`affiliate`.`service` = 'documentation'");
$affiliate_ori = mysql_fetch_array($check_aff);
if($affiliate_ori[name] == $_POST[documentation])
{
$to = $affiliate_ori[e_mail];
mail ($to,$title,$message,$from);
}
else
{
$delete = mysql_query("DELETE FROM
`schedule_distribution`
WHERE
`schedule_distribution`.`order_id` = '$_POST[id]'
AND
`schedule_distribution`.`affiliate_id` = '$affiliate_ori[affiliate_id]'
");
$doc_vendor = mysql_query("SELECT * FROM `affiliate`
WHERE `name` = '$_POST[documentation]'");
$doc_data = mysql_fetch_array($doc_vendor);
$doc_id = $doc_data[affiliate_id];
$sql5 = mysql_query ("INSERT INTO
`schedule_distribution` (`schedule_id`,`affiliate_id`,`order_id`)
VALUES
('$sched_id','$doc_id','$_POST[id]')");
$to = $doc_data[e_mail];
mail ($to,$title,$message,$from);
}
}
if($_POST[publication] != "")
{

214
$check_aff = mysql_query("SELECT
`schedule_distribution`.`affiliate_id`, `affiliate`.`name`, `affiliate`.`e_mail`
FROM
`schedule_distribution`,`affiliate`
WHERE
`schedule_distribution`.`affiliate_id` = `affiliate`.`affiliate_id`
AND
`schedule_distribution`.`order_id` = '$_POST[id]'
AND
`affiliate`.`service` = 'publication'");
$affiliate_ori = mysql_fetch_array($check_aff);
if($affiliate_ori[name] == $_POST[publication])
{
$to = $affiliate_ori[e_mail];
mail ($to,$title,$message,$from);
}
else
{
$delete = mysql_query("DELETE FROM
`schedule_distribution`
WHERE
`schedule_distribution`.`order_id` = '$_POST[id]'
AND
`schedule_distribution`.`affiliate_id` = '$affiliate_ori[affiliate_id]'
");
$pub_vendor = mysql_query("SELECT * FROM `affiliate`
WHERE `name` = '$_POST[publication]'");
$pub_data = mysql_fetch_array($pub_vendor);
$pub_id = $pub_data[affiliate_id];
$sql6 = mysql_query ("INSERT INTO
`schedule_distribution` (`schedule_id`,`affiliate_id`,`order_id`)
VALUES
('$sched_id','$pub_id','$_POST[id]')");
$to = $pub_data[e_mail];
mail ($to,$title,$message,$from);
}
}
if($_POST[entertainment] != "")
{
$check_aff = mysql_query("SELECT
`schedule_distribution`.`affiliate_id`, `affiliate`.`name`, `affiliate`.`e_mail`
FROM
`schedule_distribution`,`affiliate`
WHERE
`schedule_distribution`.`affiliate_id` = `affiliate`.`affiliate_id`

215
AND
`schedule_distribution`.`order_id` = '$_POST[id]'
AND
`affiliate`.`service` = 'entertainment'");
$affiliate_ori = mysql_fetch_array($check_aff);
if($affiliate_ori[name] == $_POST[entertainment])
{
$to = $affiliate_ori[e_mail];
mail ($to,$title,$message,$from);
}
else
{
$delete = mysql_query("DELETE FROM
`schedule_distribution`
WHERE
`schedule_distribution`.`delete_id` = '$_POST[id]'
AND
`schedule_distribution`.`affiliate_id` = '$affiliate_ori[affiliate_id]'
");
$ent_vendor = mysql_query("SELECT * FROM `affiliate`
WHERE `name` = '$_POST[entertainment]'");
$ent_data = mysql_fetch_array($ent_vendor);
$ent_id = $ent_data[affiliate_id];
$sql7 = mysql_query ("INSERT INTO
`schedule_distribution` (`schedule_id`,`affiliate_id`,`order_id`)
VALUES
('$sched_id','$ent_id','$_POST[id]')");
$to = $ent_data[e_mail];
mail ($to,$title,$message,$from);
}
}
header("location:admin.php?info=success");
}
}
?>

216