Project

216
1 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

Transcript of Project

Page 1: Project

1

International Advanced Diploma in Computing

C2006 Project: System Development

“EVE�T ORGA�IZER”

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

Page 2: Project

2

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.

Page 3: Project

3

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.

Page 4: Project

4

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.

Page 5: Project

5

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.

Page 6: Project

6

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.

Page 7: Project

7

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.

Page 8: Project

8

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.

Page 9: Project

9

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).

Page 10: Project

10

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.

Page 11: Project

11

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

Page 12: Project

12

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

Page 13: Project

13

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.

Page 14: Project

14

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

Page 15: Project

15

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.

Page 16: Project

16

IX. Cost Benefit Analysis

Cost Type Investment Cost

(�ew System)SGD$

Investment Cost

(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

system 2000 2000

File Conversion 500 1500

Removing Current

System 0 0

System Training 500 500

Operating Cost

Cost for Maintaining 2000 2000

Technical Support 1500 1000

TOTAL COST 17500 8500

Page 17: Project

17

X. Expected Benefits of the New System (Intangible)

Benefits Costs(SGD$)

Increase the efficiency of information

process by using computer bas system 5000

Time Efficiency 2000

Improve the decision making 4000

Page 18: Project

18

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

Annual Cash Inflow

= Payback Period

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

Page 19: Project

19

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%

Page 20: Project

20

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)

Page 21: Project

21

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.

Page 22: Project

22

TABLE OF CO�TE�T

I. FACT FI�DI�G.................................................................................................. 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 1

st level Data Flow Diagram ............................................. 44

3. 2nd

level Data Flow Diagram (1.0 Receive Order) ........................................ 45 4. 2

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

4. 2nd

level Data Flow Diagram (2.0 Sales Process) .......................................... 46 5. 2

nd 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 & LIMITATIO�S.......................................................................... 51 VI. SCOPE & CO�STRAI�TS ........................................................................... 52

a. Project Scope ................................................................................................... 52 b. Project Constraints ......................................................................................... 52

DOCUME�TATIO� 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. DEVELOPME�T A�D IMPLEME�TATIO�..................................................... 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

Page 23: Project

23

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

Page 24: Project

24

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.

Page 25: Project

25

DOCUME�TATIO� A�ALYSIS

I. FACT FI�DI�G

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

Page 26: Project

26

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?

Page 27: Project

27

� 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.

Page 28: Project

28

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?

Page 29: Project

29

� 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.

Page 30: Project

30

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.

Page 31: Project

31

� 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.

Page 32: Project

32

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.

Page 33: Project

33

� 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…

Page 34: Project

34

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.

Page 35: Project

35

� 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…

Page 36: Project

36

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?

Page 37: Project

37

� 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..

Page 38: Project

38

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

Page 39: Project

39

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 ______________________

Page 40: Project

40

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

Page 41: Project

41

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).

Page 42: Project

42

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)

Page 43: Project

43

III. PROCESS FLOW

The DFD (Data Flow Diagram) of the system is as follows:

1. Proposed System Context Diagram

Affiliate Company

Financial

Management

Company’s

System

Order Confirmation

Payment

Customer

Order

Receipt

Order

Confirmation

Financial Data

Request Report

Adjust Finance

data

Finance Report

Updated Finance

Data

Request

Report

Management Report

Adjustment

Updated management

Data

Page 44: Project

44

2. Proposed System 1st level Data Flow Diagram

Management

Financial

Affiliate Company

System Data Center

Customer 1.0

Receive

Order

2.0 Sales

Process

4.0

Report

Order

Confirmation

Order

Confirmation

Order

Data

Updated

Data

Payment

Receipt

Order data

Update Order data

Adjust Finance Data

Adjustment

Updated Finance

Data

Updated Management

Data

Financial data

Update

Request Report Request Report

Management Report

Finance

Report Detailed Data

3.0

Update

Page 45: Project

45

3. 2nd

level Data Flow Diagram (1.0 Receive Order)

4.

Affiliate Company

Order

Confirmation

1.2 Confirm

Availability

Availability detail

Update schedule

Customer detail

New customer detail

Order Confirmation

1.1 Confirm Customer

Detail

Order

Customer

Order

confirmation Customer Detail

Schedule

Order Data

Page 46: Project

46

2nd

level Data Flow Diagram (2.0 Sales Process)

Customer

2.2 Prepare

Documentation Order Data

Sales

Payment Receipt

Order Detail

Update Order Detail

Update Sales Data

2.1 Process

Payment

Order Detail Update Payment

Status

Page 47: Project

47

Requested Data

Requested Data

Requested Data

Adjustment

5. 2nd

level Data Flow Diagram (3.0 Update)

3.2

Update Data

Updated Management Data

Updated Data

Updated Data

New Data

Schedule

Updated Data

3.1

Receive Data Order Data

Financial Management Schedule

Adjustment

Updated Finance Data

Affiliate Company Updated Data

Sales

Page 48: Project

48

Management Report Finance Report

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

Financial Management

4.2 Prepare

Report

Relevant information

Request

report

4.1 Collect &

Sort Information

Order detail Sales detail

Schedule Detail

Schedule

Sales Order Data

Request

report

Page 49: Project

49

IV. ILLUSTRATIVE SUPPORTIVE

INPUT OUTPUT PROCESS CONTROL CONTENT � Registration

Form � Order � Payment � Schedule � Order Confirmation

� Financial Data � Report request (financial)

� Finance data adjustment

� Management data adjustment

� Report request (management)

� Receipt � Order Confirmation

� Order � Finance report � Updated finance data

� Updated management data

� Management report

� Register new customer

� Issue order confirmation

� Receive payment

� Generate payment receipt

� Select payment method

� Check Payment Method

� Check availability schedule

� Issue order to 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

� Validate customer registration

� Log in, user ID and password

� Confirm schedule

� Payment reminder

� Validate order detail

� Validate financial data

� Validate finance report

� Validate management data adjustment

VOLUME � About 3 orders per month

� Same volume as customer

Page 50: Project

50

� About 10 payments per month

� About 10 customer registration per month

registration � Same volume as payment

TIMING � As and when customer register

� As and when customer make order and payment

� As soon as possible, timing is crucial to customer registration, order, and payment

� Generate monthly financial report

� Generate monthly management report

� Real time processing

� Batch Processing

FREQUENCY � Daily – customer registration, order, and payment

� Monthly – Report Request

� Daily – customer order confirmation and receipt

� Monthly – financial report and management report

� Performed on demand

EQUIPMENT � Registration form

� Order form � Phones � E-mail

� E-mail � Phone � Printed Hardcopies

� PCs � Printers

� Form with verification code

LOCATION � Clover company’s website

� Clover company’s website

� Respective areas (Customer, affiliate, and administrator area)

� Respective areas (Customer, affiliate, and administrator area)

PEOPLE � Customers � Finance Staff � Logistic Staff � Management � Affiliate company’s staffs

� Customers � Finance Staff � Logistic Staff � Management � Affiliate company’s staffs

� Customers � Finance Staff � Logistic Staff � Management � Affiliate company’s staffs

� Department managers

� System administrator

Page 51: Project

51

V. PROBLEMS & LIMITATIO�S

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.

Page 52: Project

52

VI. SCOPE & CO�STRAI�TS

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.

Page 53: Project

53

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

Page 54: Project

54

DOCUME�TATIO� 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.

Page 55: Project

55

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).

Page 56: Project

56

I. b. Illustration Supporting �arrative

I. b. 1. Company’s Organization Chart

Top Management

Marketing Financial Logistic

Director

Market Research & Analyst

Advertising Supervisor

Treasurer

Accountant Logistic

Coordinator

Agent

Assistant

Page 57: Project

57

I. c. Process Flows

I. c. 1. Proposed System Context Diagram

Affiliate Company

Financial

Management

Company’s

System

Order Confirmation

Payment

Customer

Order

Receipt

Order

Confirmation

Schedule

Financial Data

Request Report

Adjust Finance

data

Finance Report

Updated Finance

Data

Request

Report

Management Report

Adjustment

Updated management

Data

Page 58: Project

58

I. c. 2. Proposed System 1st level Data Flow Diagram

Management

Financial

Affiliate Company

System Data Center

Customer 1.0

Receive

Order

2.0 Sales

Process

4.0

Report

Order

Confirmation

Order

Confirmation

Order

Data

Updated

Data

Schedule

Payment

Receipt

Order data

Update Order data

Adjust Finance Data

Adjustment

Updated Finance

Data

Updated Management

Data

Financial data

Update

Request Report Request Report

Management Report

Finance

Report Detailed Data

3.0

Update

Page 59: Project

59

I. c.3. 2nd

level Data Flow Diagram (1.0 Receive Order)

3.0

Update

Update schedule

Schedule Affiliate Company

Order

Confirmation

1.2 Confirm

Availability

Availability detail

Update schedule

Customer detail

New customer detail

Order Confirmation

1.1 Confirm Customer

Detail

Order

Customer

Order

confirmation Customer Detail

Schedule

Order Data

Page 60: Project

60

I. c. 4. 2nd

level Data Flow Diagram (2.0 Sales Process)

Customer

2.2 Prepare

Documentation Order Data

Sales

Payment Receipt

Order Detail

Update Order Detail

Update Sales Data

2.1 Process

Payment

Order Detail Update Payment

Status

Page 61: Project

61

Requested Data

Requested Data

Requested Data

Adjustment

I. c. 5. 2nd

level Data Flow Diagram (3.0 Update)

3.2

Update Data

Updated Management Data

Updated Data

Updated Data

New Data

Schedule

Updated Data

3.1

Receive Data Order Data

Financial Management Schedule

Adjustment

Updated Finance Data

Affiliate Company Updated Data

Sales

Page 62: Project

62

Management Report Finance Report

I. c. 6. 2nd

level Data Flow Diagram (4.0 Report)

Financial Management

4.2 Prepare

Report

Relevant information

Request

report

4.1 Collect &

Sort Information

Order detail Sales detail

Schedule Detail

Schedule

Sales Order Data

Request

report

Page 63: Project

63

II. Detailed Design

II. a. Entity Relationship Diagram

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

Customer

Order Payment Event

Schedule_distribution Schedule

Affiliate Service

Page 64: Project

64

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

Page 65: Project

65

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

Page 66: Project

66

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

-

Page 67: Project

67

II. c. Architectural Design

Event Organizer System

Start Body End

News Login Register

Customer

Affiliates

Administrator

Order Status Payment Make Order Profile

Profile Order Status

Report Manage o

o

o o o

o

o o o

o o

o o o

o

*

Page 68: Project

68

Main Menu

Register News Login

Customer

Profile

Order Status

Payment

Make Order

Reports

Order Maintenance

Manage Customer/

Affiliate company

Manage News

Administrator Affiliates

Profile

Order Status

Check Order

Confirm

Page 69: Project

69

II. d. Procedural Design

II. d. 1. System Flowchart

Start

Display

Main Menu

Get

Choice

Display

News

News Login Register Exit

End A B

Yes Yes Yes Yes

No No No

Page 70: Project

70

A

Get Information

Display

Information

Display Main

Menu

Add to database

Page 71: Project

71

B

Display

login screen

Get

Choice

customer affiliate admin

Get

Id & password

Compare with

database

Correct

customer affiliate admin

C D E

Yes

Yes

Yes

Yes

No

Yes Yes Yes

No No

No No

Page 72: Project

72

C

Display

welcome screen

Get

Choice

payment Order

status

Make

order logout profile

Display

Main Menu C1 C2 C3 C4

No

Yes Yes Yes Yes Yes

No No No

Page 73: Project

73

C2

Display form

Get info

Update

Database

Display

Confirmation

C

C3

Display form

Get info

Update

Database

Display

Confirmation

C

C1

Display

profile data

Get choice

Change

Display form

Get data

C

Update database

No

C4

Display

profile data

Get choice

Change

Display form

Get data

C

Update database

No

Page 74: Project

74

D

Display

welcome screen

Get

Choice

Order

status logout profile

Display

Main Menu D1 D2

Yes Yes Yes

No No

Page 75: Project

75

D1

Display

profile data

Get choice

Change

Display form

Get data

D

Update database

No

No

D2

Display order status

Get choice

Confirm Get reason

Update

database

D

Yes

Page 76: Project

76

E

Display

welcome screen

Get

Choice

manage

news logout reports

Display

Main Menu E1 E2 E3 E4

No

Yes Yes Yes Yes Yes

No No No order

maintenance

manage

affiliate

customer &

Page 77: Project

77

E1

Display

Menu

Get report

type

Display

Report

Make report from database

E

E2

Display

order list

Get choice

Order E

Display

order menu

Get choice

Edit

Display

form

Get info

Update

database

E2

No

Page 78: Project

78

E3

Display

order list

Get choice

Order E

Display

order menu

Get choice

Edit

Display

form

Get info

Update

database

E3

No

E4

Display

news list

Get choice

Order E

Display

order menu

Get choice

Edit

Display

form

Get info

Update

database

E4

No

Page 79: Project

79

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

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”

header

Text 1 Hyperlink 2

Header image

Hyperlink 1

Page 80: Project

80

II. e. 1. ii. left panel

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

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

footer

Text 1

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

Left panel

Hyperlink 1

Hyperlink 2

Hyperlink 3

Hyperlink 4

Hyperlink 5

Hyperlink 6

Hyperlink 7

Hyperlink 8

Page 81: Project

81

II. e. 2. Main Menu

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.

Header

Footer

Left

panel

content

Page 82: Project

82

II. e. 3. �ews

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

Header

Footer

Left

panel

Text 1

Text 2

Text 3

Text 4

hyperlinks

Page 83: Project

83

II. e. 4. Login

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

Header

Footer

Left

panel

Text 1

Text 2

Text 3

Text box 1

Text box 2

Button

Page 84: Project

84

II. e. 5. Customer

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

Header

Footer

Left

panel

Hyperlink 1 Hyperlink 2

Hyperlink 3 Hyperlink 4

Hyperlink 7

Hyperlink 5 Hyperlink 6

Page 85: Project

85

II. e. 6. Profile

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

Header

Footer

Left

panel

Hyperlink 1 Hyperlink 2

Profile

Page 86: Project

86

II. e. 7. Make order

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 Form Text, text box,

radio button, check box, combo box

Form that customer fill to make new order.

5. Button Button Submit button for order form

6. Hyperlink 1 Hyperlink Back

Header

Footer

Left

panel

Button Hyperlink 1

Order form

Page 87: Project

87

II. e. 8. Payment

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

5. Button Button Button to do online payment via paypal

Header

Footer

Left

panel

Button Order information

Page 88: Project

88

II. e. 9. Order status (Customer)

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

Header

Footer

Left

panel

Text 1

Text 2

Text 3

Hyperlink

Hyperlink

Hyperlink

Page 89: Project

89

II. e. 10. Affiliate

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

Header

Footer

Left

panel

Hyperlink 1 Hyperlink 2

Hyperlink 3 Hyperlink 4

Hyperlink 5

Page 90: Project

90

II. e. 12. Order status (Affiliate)

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

Header

Footer

Left

panel

Text 1

Text 2

Text 3

Hyperlink 1 Hyperlink 2

Hyperlink 1 Hyperlink 2

Hyperlink 1 Hyperlink 2

Page 91: Project

91

II. e. 13. Administrator

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

Header

Footer

Left

panel

Hyperlink 1 Hyperlink 2

Hyperlink 3 Hyperlink 4

Hyperlink 8

Hyperlink 6 Hyperlink 7

Page 92: Project

92

II. e. 14. Report

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

Header

Footer

Left

panel

Text 1 Combo box

Button

Page 93: Project

93

II. e. 15. Order management

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

Header

Footer

Left

panel

Text 1

Text 2

Text 3

Hyperlink 1

Hyperlink 1

Hyperlink 1

Page 94: Project

94

II. e. 16. Manage customer & affiliate

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

Header

Footer

Left

panel

Text 1

Text 2

Text 3

Hyperlink 1 Hyperlink 2

Hyperlink 3

Hyperlink 4

Hyperlink 4

Hyperlink 4

Page 95: Project

95

II. e. 17. Manage �ews

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

Header

Footer

Left

panel Text 1

Text 2

Text 3

Hyperlink 1

Hyperlink 2 Hyperlink 3

Hyperlink 2 Hyperlink 3

Hyperlink 2 Hyperlink 3

Page 96: Project

96

II. e. 18. Register

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. Registration Form Text, text box,

radio button, check box, combo box

Form that customer fill to register.

5. Button Button Submit button for order form

6. Hyperlink 1 Hyperlink Back

Header

Footer

Left

panel

Button Hyperlink 1

Registration form

Page 97: Project

97

II. e. 19. About us

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

Header

Footer

Left

panel

content

Page 98: Project

98

II. e. 20. Contact us

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.

Header

Footer

Left

panel

content

Page 99: Project

99

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)

Page 100: Project

100

4. DEVELOPME�T A�D IMPLEME�TATIO�

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

Page 101: Project

101

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

No, then debug the system

Execute test

Expected results

Implementation

Result

match?

System

Requirement

yes, go to the next test case

Page 102: Project

102

Test Cases

Test

Cases

Test Objectives Expected results

1 Check the new customer registration process, test the input validation

An alert will appear and the input box with invalid input value will become red and the correct input box will become green.

2 Test if the customer can access the customer page after he/she have activated his/her account.

The customer can access the customer page.

3 Test the edit profile in customer page

The customer can edit his/her profile using the edit profile

4 Test the “make order” module to make a new event order

Customer can make a new order using the make order module, a notification will be given to the customer in the customer page

5 Test if the customer can see his/her order status and information using the “order status” module

The customer’s order(s) displayed. The customer can see his/her order status and information using the “order status” module

6 Test if the customer can use the “payment” module to pay his/her order through Paypal

Customer will be redirected to Paypal’s website after clicking the “pay now” button.

7 Test if the customer will be redirected to the website after making payment

Customer redirected back to customer page with a status message

8 Test if an affiliate company can log in and access the affiliate page

Affiliate company can login and redirected to the affiliate page

9 Test if the an affiliate company can change its company information using the “profile” module

Affliate company’s profile can be changed using “profile” module

10 Test if the affiliate company can check its order status using “order status” module

Orders for the respective affiliate company will be displayed

11 Test that an affiliate company need to give a reason if it want to reject an order

A form to fill the rejection reason will appear before the status is changed as rejected

12 Test that the confirmation status can be changed to “confirmed”

The confirmation status of the order become “confirmed”

13 Test if the affiliate company can send a feedback using the “feedback” module (also applicable to customer)

A feedback is sent to the administrator’s e-mail after the feedback form has been successfully submitted

14 Test that the administrator can The administrator can login and access

Page 103: Project

103

login and access the admin page the admin page

15 Test that the administrator can generate the desired report using “report” module

The selected type of report is displayed

16 Test the “manage order” module to show all the order in the database

All the order in the database is displayed

17 Test that administrator can edit an order information

The order information is updated after the editing process

18 Test the “customer & affiliate” module to show information about customers and affiliate companies

The information about customer and affiliate company is displayed according to which one is choosen

19 Test that the administrator can add a new customer (also applicable to affiliate company)

The administrator can add a customer to the database

20 Test that the administrator can add a new news to the website using the “manage news” module

New news added to the website and is accessible from the “news” page

Page 104: Project

104

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

Page 105: Project

105

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

Page 106: Project

106

Incorrect input

Page 107: Project

107

After

Step 1

Step 2

Page 108: Project

108

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

Page 109: Project

109

Step 3

After

Page 110: Project

110

Page 111: Project

111

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

Page 112: Project

112

Page 113: Project

113

After

Page 114: Project

114

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

Page 115: Project

115

Step 3

After

Page 116: Project

116

Page 117: Project

117

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

Page 118: Project

118

Page 119: Project

119

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

Page 120: Project

120

Page 121: Project

121

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

Page 122: Project

122

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 : [email protected]

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

Page 123: Project

123

Page 124: Project

124

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

Page 125: Project

125

Page 126: Project

126

After

Page 127: Project

127

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

Page 128: Project

128

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

Page 129: Project

129

Page 130: Project

130

After

Page 131: Project

131

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

Page 132: Project

132

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

Page 133: Project

133

Page 134: Project

134

After

Page 135: Project

135

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 : [email protected]

password : cloverpass

Expected Test Result The administrator can login and access the admin page

Actual Test Result As shown below

Conclusion Succeeded

Before

After

Page 136: Project

136

Page 137: Project

137

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

Page 138: Project

138

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

Page 139: Project

139

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

Page 140: Project

140

Page 141: Project

141

Step 3

Step 4

Page 142: Project

142

After

Page 143: Project

143

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

Page 144: Project

144

Page 145: Project

145

Affiliate

Page 146: Project

146

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

Page 147: Project

147

Page 148: Project

148

Step 3

After

Page 149: Project

149

Page 150: Project

150

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

Page 151: Project

151

Page 152: Project

152

Step 3

After

Page 153: Project

153

Page 154: Project

154

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

Page 155: Project

155

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:

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.

No

Yes

Back Up Current System

Convert the old system into new

system

Is it the expected result?

Discard the old system

Debug

Page 156: Project

156

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.

Page 157: Project

157

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

Page 158: Project

158

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 [email protected] 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

Page 159: Project

159

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.

Page 160: Project

160

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.

Page 161: Project

161

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.

Page 162: Project

162

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.

Page 163: Project

163

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.

Page 164: Project

164

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.

Page 165: Project

165

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.

Page 166: Project

166

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.

Page 167: Project

167

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.

Page 168: Project

168

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.

Page 169: Project

169

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.

Page 170: Project

170

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

Page 171: Project

171

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.

Page 172: Project

172

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.

Page 173: Project

173

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.

Page 174: Project

174

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.

Page 175: Project

175

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.

Page 176: Project

176

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>

Page 177: Project

177

</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>

Page 178: Project

178

</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>

Page 179: Project

179

<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>

Page 180: Project

180

<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>

Page 181: Project

181

<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>

Page 182: Project

182

</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]=="") {

Page 183: Project

183

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">

Page 184: Project

184

<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>

Page 185: Project

185

</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>

Page 186: Project

186

<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>

Page 187: Project

187

</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">

Page 188: Project

188

<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>

Page 189: Project

189

<?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>

Page 190: Project

190

<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>

Page 191: Project

191

</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"); }

Page 192: Project

192

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>

Page 193: Project

193

<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"

Page 194: Project

194

<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 "

Page 195: Project

195

<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>

Page 196: Project

196

<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>

Page 197: Project

197

<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>

Page 198: Project

198

<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>

Page 199: Project

199

<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>

Page 200: Project

200

"; $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>

Page 201: Project

201

<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'>

Page 202: Project

202

<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>

Page 203: Project

203

</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>

Page 204: Project

204

<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>

Page 205: Project

205

</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>

Page 206: Project

206

<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>

Page 207: Project

207

</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>

Page 208: Project

208

<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>

Page 209: Project

209

<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"

Page 210: Project

210

<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]'");

Page 211: Project

211

$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]',

Page 212: Project

212

`pay_status` = '$_POST[pay_status]' WHERE `order`.`order_id` =$_POST[id]"); $title = "Order change for $_POST[date]"; $from = "From: [email protected]\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/login.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]'");

Page 213: Project

213

$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]')");

Page 214: Project

214

$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] != "") {

Page 215: Project

215

$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`

Page 216: Project

216

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"); } } ?>