Project | Programming Language | Databases

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) : 19 November 2008 : 0188 : Mr. Karuppan Chettiar Palaniappan

Submission Date Center Code Lecturer Name

1

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

2

II. Current System The company is currently using this system to do its business operation: Customer order Customer places their order by calling the company. Then, the customer will tell the contact person from Clover Company what event they want to have, what theme, the budget, and any specification for the event. Then the contact person will record it or write it down on a book. Job Distribution After they get the order, the contact person will pass the order to the head of the company. The head will then distribute the job to each department to check the availability for the event preparation. For example: who will contact the food supplier, who will contact the printing company to print the invitations, etc. Internal communication and communication between Clover Company with customer Each member of EO team will inform the head about their task progress. And the head will be the information source for the customer. So, when the customer wants to know the order progress or wants to change something in the order specification, he/she will have to call and speak to the EO head. Payment Method The customer will have to make the payment manually, and then a staff from the Clover Company will receive the payment, take note and write a receipt. Account Management The staff of finance department will note all the company’s transaction and produce the financial report for a period of time. E.g. monthly or yearly report Documentation of previous projects All the data and information that are written when the Clover Company prepares an event will be discarded after the event is done. Because they write all the information on papers, so it will take a lot of space if they want to store it. The result is the company never does any evaluation based on the previous works. Company promotion / advertising The company advertises itself by following events like wedding exhibition or from mouth to mouth information. That is the way they advertise the company’s service. And their scope of operation is still limited in one city only.

3

III. Problems and Limitation: There are some problems faced by the Clover Company with their current system: Problem to Get order The customer can only place their order in office hours, because the customer needs to manually call the company to speak with a staff. Ineffective communication Because the EO team consists of so many persons who have different tasks, the head will need to get report from each person by calling them one by one. And if there is any changes of requirement from the customer (e.g. changes of place), the head will need to call the person who is in charge of it. Problem with payment tracking The payment is made and written manually, so it will take a bit long time if the company needs information about it and also the customer needs to meet the staff personally in order to make the payment. Inadequate financial report The financial report is on per case basis. So the company doesn’t have detailed information of all the transaction that has been made. Difficult to evaluate all the company’s activities The current system will discard all the information about the previous events and order, so at the end of working year it is difficult to analyze all these information in order to improve the company’s productivity. Unsynchronized information with affiliation companies The Clover Company affiliated with several other companies such as food supplier, printing company, decorations, etc. Every time the Clover Company gets an order, it needs to contact each of these companies asking for their availability for a certain date. This is ineffective because they have to do it for each order. Lack of publication and advertising The current system doesn’t help the Clover Company to advertise its business and to expand their business range. Because they just depend on the events like wedding exhibition and also mouth to mouth publication.

4

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

5

V. Description of the New System In order to be a useful and productive system, the new system must be a better system compared to the old system. The new system will be equipped with useful features that will eliminate the existing problems and limitations caused by the current system. The new system will be an online system. It is a website that can be used by the customer, the Clover Company, and also the affiliate companies. So, it is not just a simple website to show general information but an online system that can be used to manage the company’s business and increase its productivity. The features of the new system are: 1. Customer registration and login Before a customer can make place an order or use any other facility within the system, he/she will need to fill an online registration form, get user ID and password, and login to the system using his/her user ID and password. The personal information of a customer from the registration form will be kept on a database, so it can be easily used by the company if needed in the future. 2. Online order module The new system will be an online system in the Internet, so it can provides an online order service. This module will really helps the customer to place their order anytime they want (no office hour limitation) and from everywhere as long as they have an Internet access. Using this module, the customer not only able to place an order, but also track their order preparation progress. If there are any changes on the order specification and details (e.g. Change the place of the events, change the documentation type used to document the event, etc.), the customer can also make it online. It will really help to reduce communication gap between customer and the Clover Company. 3. Online payment module After a customer place an order, there is no need for he/she to come personally to the company’s office just to make the payment. He/she can do the payment from the website itself (online payment). It will allow the customer to pay using credit card, eNETS, etc. This module is also able to generate an online receipt after the customer makes a payment. Another feature of this module is to generate a payment tracking method, it means that in the case where a customer pay just a part of the cost, the module can generate a report about how much more payment need to be made and the due date of the payment. 4. Database The system will have a database to keep various records and information of the company’s business. This database will be the central data warehouse, so the company can access and finds any needed information easily.

6

5. Affiliate Companies module As stated before that one of the current system’s problem is that it is hard to keep the schedule of the Clover Company and the affiliate companies synchronized. So the answer of this problem is a module for affiliate companies that are implemented in this new system. This module will allow a person from any affiliate company to login to the system. After they login into the system, they can use some functions of the system. First, they will be able to edit their own profile and for the second, they are able to check about the order that has placed for them. For example; they need to confirm an order if they are able to do it and if they are not able to provide their service for certain event, they have to give an explanation about why they are not able to do it. 6. Finance Report Generator This finance report generator module is very useful for the company. Unlike manual report, it can be used to produce an up to date finance report anytime it’s needed. The report will covers about the company’s income, outcome, profit, loss, etc. So this module will really save time and effort to make a company financial report. 7. Company Activities Report Beside the finance report, the new system will be able to produce another report for the company. It can report about the orders that have been finished, upcoming orders due date, list of customers, etc. Many kinds of report can be generated from the system’s database. This report plays an important part when it is used to evaluate the company’s performance. These reports can be used for a decision making by the company in order to improve the company’s performance. 8. Secured Access Since the system database keeps a lot of important and confidential information of the company, so the system also enforce security to make sure that only an authorized user can view the information. This is implemented by using a login with combination of user ID and password in order to see the data on the database. Of course not everyone who login can see all the information in the database, for example a customer will just be able to see information for his/her own order status, but the system administrator or the Clover Company staff can see a lot more information from the database. 9. Up to date news Apart from all the system function that requires the user to login, there is also a public part of the website that can be accessed by everyone without need to register or login. These parts of the website will contain various information and news about the company. This will help the company’s publication and attract new customers with a huge coverage area, which cannot be done by the current system.

7

VI. Benefits of the New system 1. Improved customer service The new system can deliver a better service for the customer. Features like online registration, online order, online payment, order status and progress check, edit order specification online, etc. These features are far better than the current system, that will result in increased customer satisfaction level, increase the company’s reputation, and also attract new customers. 2. Fast and easy communication The new system provides as a fast and easy communication media between the Clover Company, Customer, and affiliate companies. There is no need for the Clover Company to manually make a call to an affiliate company to ask for their availability or to call a customer to inform if there are any changes to the order specification, because all these things are time consuming and it will be eliminated by the new system. Using the ability of the new system that allows everyone involved in an event order preparation to update the event progress status, any updates to an order progress can be checked online through the website. When there is an important change to the order specification, the system will send an e-mail to the customer to notify him/her about it. 3. Provide detailed information about the company’s previous works Using the database of the new system to record all the orders and job that have been done by the company, the new system can produce a detailed report about all the previous works that have been done by the Clover Company. The report may include the information about the company’s customer in last 3 months, the kinds of events ordered by the customer in last year, etc. various report can be produced. And the most important thing is that the company never loses its history record and it’s always well organized, save a lot of physical space (paperless), easy to store, and easy retrieves it anytime. 4. Helps the Clover Company to make decision With a lot of easily generated report from the new system, now the company can use less effort to prepare materials and information needed to conduct a review and evaluation about the company performance. For example, the company can use the new system to produce a report about the kind of events ordered by customers in last 6 months, and then from this report the management team of the company can make decision about where to improve the company’s business and how to do it. 5. Provide a better financial report, and its easier to access In order to help the financial department of the Clover Company, the new system will also benefits the financial company by helping them to do their job on writing financial records and produce the company’s financial report. It’s easier and faster to use the new system to produce a financial report compared to the current system that produce financial report by manually writes it on a piece of paper that takes a quite long time.

8

6. Easier to educate the customers and give information that they need When a customer wants to make an order, there are many choices that he/she has to make. The choice is like what is the type of the event that he/she wants, when is the event date, and the widest option is on which affiliate company that the customer wants to use for the event. For example there are some food supplier company affiliated with the Clover Company, the current system will require a staff to explain each company choice to the customer, this process takes long time and big effort. With the new system, the customer can see the information about each choice on the website itself, so the company doesn’t need a staff just to describe and explain each choice to the customer. This will safe time and effort, thus increase productivity. 7. Inspiring customer The new system will give news about the latest events that is organized by the Company; this news will give inspiration for the customer to make their choice. This will make the customers happier with the company and find that the company’s website is helpful for them. All of these things can lead to more loyal customers. 8. Synchronized Schedule with affiliate companies The new system allows the Clover Company to get up to date information because affiliate company can straight away confirm the order if they can because the affiliate company is able to access the website anytime they want. This synchronized schedule between the Clover Company and its affiliate companies is an important benefit because it saves a lot of communication cost, time, and effort. 9. Advertise the company With the new system’s internet based platform, it can help the company to advertise its business to a wider society, virtually all Internet users in the world. This is also one of crucial part that the new system will take. The website should have an interface and information that are interesting enough to attract new customers to use the company’s service. 10. Reduce cost After all the benefits mentioned above, the final benefit that the company will get from the new system is reduced operational cost. The new system will reduce costs like administration cost to buy papers and pen, telephone cost, cost for extra staff, etc. So, beside the intangible benefits, the new system will also have real financial benefit (tangible benefit).

9

VII. Initial Specification The system is an online system with web pages programmed using PHP and HTML as the front-end and a mySQL database as the back-end. The system will have 4 main areas. They are: A. Public Area that can be accessed and viewed by all Internet users. B. Customer Area for registered customer with proper user id and password. C. Affiliate Company Area for affiliate companies. D. Administrator Area that used by the Clover Company’s staffs. A. Public Area Public Area is part of the website that can be accessed and viewed by all Internet users because there is no need to enter password or register to see this part. This is the part of the website that will be first displayed. This part also plays an important role on the company’s publication in order to attract new customers. A.1. Up to date ews The most recent news about the company will always provided in the website to give customers more knowledge about the company and its services and also attracts new customers. A.2. Company Profile Provides a description about the company, to give the customer better understanding about the company and its businesses. A.3. Company’s service description This is a room for the company to promote all kinds of services that it offers to the public. It will have description about the company’s service, list of offered services and also promotion if any. A.4. Company’s contact This part provides a detailed contact and also the office address of the company in case if someone wants to contact the company directly. A.5. FAQ (Frequently Asked Question) This is a list of frequently asked question and its answer to help the user to get answer for common questions. A.6. Sitemap Sitemap is provided in this website to make it easier for the user to understand the structure of the website and jumps quickly from one page to another page. A.7. Customer Registration Customer registration page provides a registration form for customer who wants to use the company’s service so they can have a user id and password to login to the system and use more functionality of the system.

10

A.8. Customer Login Customer login page is where a registered customer can use his/her user id and password to login to the customer area. A.9. Affiliate Company Login Affiliate company login is where a person from an affiliate company can login using his/her user id and password to access the affiliate company area. B. Customer Area After a registered customer successfully login from customer login page, he/she can now access the customer area. B.1. User Profile Module Here the customer can see the information that he/she entered in the registration form earlier. The customer can do modifications to some details of his/her personal particular here (e.g. update phone number or change e-mail address). B.2. Order Placing Module Customer can place their order here, including all the options and specification of the order such as event type, date, place, entertainment type, documentation type, etc. B.3. Online Payment Module This module allows customers to make an online payment for their order. After a customer make payment, it will give an online receipt that can be printed by the customer. If there is more payment to be made, the module will remind the customer about B.4. Order Status Tracking Module The customer can use this module to check the progress status of their order. For example, the customer can see if the place for the event has been booked or not, or if there is any changes to one of the specification/detail. B.5. Change Order Specification Customer can use this module to change the specification and detail of the order. B.6. Affiliate Companies Profiles Customers need to choose which affiliate company that he/she wants to use when placing order. For example company A for food supplier, company G for documentation, and company L for the printing of flyers. To decide which affiliate company to choose, the customer will be able to read a description and profile of each affiliate company. B.7. Customer Feedback Module

11

Customers can give feedback to the company if they see that there is a room for improvements. Then the submitted feedback can be followed up by the management team of the company. B.8. Help / User Guide The help and user guide provides a clear instruction about how to use the system. This feature will assist the system user to be more familiar with the functions and navigations in the system. C. Affiliate Company Area This affiliate company area is a special part of the system for the affiliate companies of the Clover Company, so the synchronization between the Clover Company and its affiliate companies can be done easier with less effort. C.1. User Profile Module The user profile module is similar with the user profile module in customer area. It displays the affiliate company’s detail information and can be updated if there are any changes. C.2. Booking Status Module This module will be a reminder for an affiliate company to remind it about what are the dates that it is booked. And then the affiliate company can confirm the booking if they can do it. A confirmed booking from an affiliate company will update the order status that can be checked by the customer via order status tracking module. C.3. Feedback Module An affiliate company can give feedback to the Clover Company if they see that there is a room for improvements. Then the submitted feedback can be followed up by the management team of the Clover Company. C.4. Help / User Guide The help and user guide provides a clear instruction about how to use the system. This feature will assist the system user to be more familiar with the functions and navigations in the system. D. Administrator Area Administrator area is used by internal staff of the Clover Company. It requires user id and password to enter this area. But for security sake, there is no visible interface to login to this area from the home page of the website. If a staff wants to login, he/she must type a special address to open the login page to the administrator area. D.1. Order Management Module This module provides ability for the Clover Company’s staff to manage all the orders from the customers. The staff can see each order detail and update the order preparation progress when it’s necessary. The Clover Company can tell

12

the customer if there is any change to the order specification through this module. D.2. Customer Management Module The company can manage its customer from this module. The company can use this module to check for customer’s data and information, and also read customer’s feedback or send e-mail to a customer to inform the customer if there is something important happen. D.3. Affiliate Company Management Module The availability schedule from each affiliate company can be checked using this module. The Clover Company also can check which companies available are for a certain date. Additionally, the Clover Company can check the status of an affiliate company about how many order that request its service, whether all the request have been confirmed, etc. The Clover Company also can send e-mail to any affiliate company if there is something urgent to ask. D.4. Company Schedule and Reminder It helps the Clover Company to view its schedule and also upcoming events and order. D.5. Report Generator Module This module is used generate many kind of reports from the system database. It can produce reports like customer data report, affiliate companies report, report about the orders received in a certain period, etc. These reports can be used for an onscreen viewing only or printed to be used as meeting materials. D.6. Finance Report Module The company’s finance department can use this module to generate the company’s financial report. It has many categories of what period of time should the report show and also report for general condition or report on per case basis (e.g. report for each order). D.7. Database The system’s database is used to store all the data needed by the company. It stores customer data, affiliate company data, orders data, transaction data, and financial data. The security of the database is ensured by protecting it using password so it will prevent unauthorized person to access the information inside the database. D.8. Help / User Guide The help and user guide provides a clear instruction about how to use the system. This feature will assist the system user to be more familiar with the functions and navigations in the system.

13

VIII. Work Distribution To develop this system, we have a developer team that consist of three experienced person that is highly motivated and have adequate skill to carry out this project in time and satisfy the system’s specification. The team consists of: 1. System Analyst 2. Programmer 3. Database Designer/Administrator Here is a bit description of each team member: 1. System Analyst Our system analyst is David. He has many years of experience in this field. He is a highly self-motivated person with good communication skills. In this project, he will meet our customer to identify problem suffered by the customer’s current system. Beside that, David will perform analysis to the current system for clearly understand workflow of the current system, current system’s features, its drawback and constraints. This information will allow our team to decide what improvement should be made in the new system. To achieve this objective, David will have to gather information from different method such as reviewing current system’s document, interviewing involved staff person, and observing current system’s work activities. After gathering sufficient information, he will perform feasibility study to examine the acceptance of the new system. This will include few factor such as current technology available, user’s operating skills and customer’s budget. David also makes decision together with other team member in determine new system specification. The team member will list out any hardware and software needed in the new system. Based on gathered information, David will perform the cost benefit analysis. He will list out what benefits will the new system bring, and the cost of implementing new system. David has to prepare proposal for present our new system concept to customer. At the system implementing and evaluation stages, David will conduct with other team member to evaluate the newly implemented system. Together, they will analyze the new system performance, user acceptance and customer satisfaction, and then produce a system review report. 2. Programmer Our team programmer is Thomas. He has enough experience in this field. Master in some programming language makes him able to fulfill each project objective in most economic and creative ways. In this project, he will determine the specification of the new system along with other team member. As usual, he will select the best tools like pseudo code, flow chart and CASE tools to planning how to design the new system. Thomas also has to choose suitable programming language to construct the new system and meets document requirements. After selecting desired programming language, the entire team member will begin to code the new system. During system development phase, Thomas will document the pseudo code, flow chart, systemoperating manual, and procedures in the system document. When the system is developed, Thomas will perform a system test to the new system along with database

14

administrator. They will test the new system with available test data and also live test data provided by the customer. The new system will not be implemented until it is 100% functional and free from any kind of errors. If an error is occurred, Thomas will revise the new system according to the detected error. Thomas will play his role when the system is implemented. First, he will implement the system with other team member. If training is conducted, he will responsible for training the user based on the system-operating manual. While the system is fully operated at customer site, Thomas and other team member will conduct a system review on the implemented system. 3. Database Designer/Administrator Our team’s Database Designer/Administrator is Keith. He has adequate education and experience in this field. In this project, Keith will work with other team member to determine system specification. Then, he will plan the database with the aid of database development tools such as data flow diagram, data dictionary and decision tree. With the aid of those tools, he will decide the how many database is needed, relationship between each database, data integrity control etc. Keith needs to choose suitable database programming language to use in this project. Then, he will construct the database with the selected language. Beside that, he will join other team member to codes the system. While the system development in progress, Keith will help Thomas to prepare the system document. He needs to make the database documentation which recording the database structure, coding, database maintaining procedure. When the system is completed, he will join other team member to perform system test to the new system. At the system implementing and evaluation phase, Keith will review the new system with other team member.

15

IX. Cost Benefit Analysis

Cost Type Cost for Analysis Requirement Determination System Design System Development System Testing Implementation Costs Cost for Installing new system File Conversion Removing Current System System Training Operating Cost Cost for Maintaining Technical Support TOTAL COST

Investment Cost ( ew System)SGD$ 2000

Investment Cost (Old System)SGD$ 1500

3000 4000 2000

0 0 0

2000 500 0 500

2000 1500 0 500

2000 1500 17500

2000 1000 8500

16

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

17

Annual System Old system New system First year Second year 1800 3500 2100 4000 Third year 2400 4700

Return Fourth year Fifth year Total Return 2500 5500 2700 6200 11500 23900

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

Payback period for new system : Cost of Project = 17500 Annual Cash Inflow = Total Return/5 = 23900/5 = 4780 Payback Period = 17500/4780 = 3.66 years

18

XI. Return on Investment (ROI) ROI = [Total Benefit-Total Cost] / Total Cost Old System: ROI = [11500-8500] / 8500 = 35%

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

19

XII. Hardware specification The minimum hardware specification to operate this system is: 1. Intel Pentium IV processor or better 2. Minimum 512 Mb RAM 3. Color Monitor 4. Keyboard 5. Mouse with scroll button 6. 160 GB hard disk 7. DSL Internet connection 8. Laser Printer or Dot Matrix Printer For the web server itself, we will host the website on another commercial web server, so we don’t need to buy the expensive web server computer for the company. XIII. Software Requirements Development Software The software that is used to develop this new system: 1. Notepad ++ 2. PHP editor 3. PHP (Personal Home Page) 4. phpMyAdmin 5. FileZilla 6. Apache HTTP server 7. MySQL 8. Adobe Dreamweaver 9. Adobe Photoshop 10. Core FTP

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

20

XIV. Gantt Chart

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

21

TABLE OF CO TE T
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 1st level Data Flow Diagram ............................................. 44 3. 2nd level Data Flow Diagram (1.0 Receive Order)........................................ 45 4. 2nd level Data Flow Diagram (2.0 Sales Process) .......................................... 45 4. 2nd level Data Flow Diagram (2.0 Sales Process) .......................................... 46 5. 2nd level Data Flow Diagram (3.0 Update) .................................................... 47 6. 2nd level Data Flow Diagram (4.0 Report)......................................................... 47 6. 2nd level Data Flow Diagram (4.0 Report)......................................................... 48 IV. ILLUSTRATIVE SUPPORTIVE ....................................................................... 48 IV. ILLUSTRATIVE SUPPORTIVE ....................................................................... 49 V. PROBLEMS & 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 I. 22

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

23

EXECUTIVE SUMMARY
We create this documentation is that we can provide the information about the system that we have created, which is Clover Event Organizer. This project is created by a team that is consist of : David Irawan Adhiguna (018800004337) Keith Nishan Fernandez (018800004402) Thomas Setiabudhi (018800004137) We need 8 months to finish this project which means two terms. We do all the coding and documentation and we do a lot of research and trial to do this project. Finally after all the consideration which programming language that we want to do the project with, we choose PHP.net and MySQL. After we formed the team, we make a meeting to discuss about the project. But our meeting is not organized like twice in a week or something like that. We arrange our meeting if something is very important that we need to discuss or if we want to split the work into the team. On the first term, our team has already finished until the Analysis Documentation and the second term we start with doing the Design Documentation and then the coding. One of our member often sick so we have to somehow manage our work so that it will not postponed too long because it will affect the project time. This is online-based system so that all people can access it from anywhere as long as there is internet connection there. That is one of advantage by using the online-based system. That is the reason why we choose the online-based system which is to make wider relation. There are others benefit that the organization can get from this new online-based system such as benefit that we do not have to do manually task like: add record, search record, manage record, etc. Although this documentation already has the user guide book to guide the user about this new system, we suggest you to let us give training about how to use the new system because it will be more effective. For user that want to access the website, they can go to : Davidkeiththomas.freevar.com In that website, they can see how the website look like and what function that the website has.

24

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

25

I.A.ii. Interview for Financial Department The questions that we will ask to staff from marketing department are: a) Is there anything you like to feedback about the system here? b) What do you think about the internal communication in the company? c) What are your difficulties when preparing a financial report? d) What will you suggest for the company’s new system? The staffs that interviewed are: a) Santoso b) Fendy c) Siti 1) Interview with Santoso Interviewer : Good afternoon Mr. Santoso. We appreciate that you want to spare your time for an interview session with us here. Santoso Interviewer : Yes, It’s not a big deal through. : Mr. Santoso, Is there anything you like to feedback about the system here? : Yes of course! Currently I feel that the system in this company is a bit slow, especially to support us in the financial department. : Oh is that so, can you please explain it to us please? : 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. : Ok, I get your point. So you feel there is a communication problem here. : Yes, sort of. : Mr. Santoso, what do you think about the internal communication in the company?

Santoso

Interviewer Santoso

Interviewer

Santoso Interviewer

26

Santoso

: Actually there is no serious problem of communication or relation problem between the staffs here. But, as some staffs especially the marketing and logistic department that needs to go out quite often, it’s not easy to meet them and ask them to update us with the most recent progress of a customer’s order. : Oh, I see… : 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. : Ok Mr. Santoso, so… beside the difficulties to collect information, what are your difficulties when preparing a financial report? : 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. : So you are very convenient with this method is it? : 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. : 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? : 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. : Thank you Mr. Santoso, that’s all that we want to ask from you.

Interviewer Santoso

Interviewer

Santoso

Interview Santoso

Interviewer

Santoso

Interviewer

27

2) Interview with Fendy Interviewer : Good afternoon Mr. Fendy. We appreciate that you want to spare your time for an interview session with us here. Fendy Interviewer : No problem. : Mr. Fendy, Is there anything you like to feedback about the system here? : 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. : Can you please explain to us what the problems are? : 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. : Oh I see, it will be difficult in your side. : Of course it is. : Mr. Fendy, What do you think about the internal communication in the company? : 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. : 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? : Of course, a lot of it. : What are your difficulties when preparing a financial report?

Fendy

Interviewer Fendy

Interviewer Fendy Interviewer

Fendy

Interviewer

Fendy Interviewer

28

Fendy

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

Interviewer

Fendy

Interviewer

29

3) Interview with Siti Interviewer : Good afternoon Mrs. Siti. We appreciate that you want to spare your time for an interview session with us here. Siti Interviewer : Yes, please feel free to ask. : Thank you. First of all, we want to ask, is there anything you like to feedback about the system here? : Do you mean the system for the financial department? : Yes it is. : Oh, I’m quite new here but I think that the current system here for the financial department is horrible! : Ok, what do you mean by that? : 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. : Ok we note down that. Now we would like to ask you, what do you think about the internal communication in the company? : 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. : Oh I see… but do you think that there is any problem in this area? : 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.

Siti Interviewer Siti

Interviewer Siti

Interviewer

Siti

Interviewer Siti

30

Interviewer

: Yes, maybe we should get more information about this from the other two staffs in the financial department. : Yes of course. : Anyway, let’s move on to the next question. What are your difficulties when preparing a financial report? : 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. : 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? : 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. : 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.

Siti Interviewer

Siti

Interviewer

Siti

Interviewer

31

I.A.iii. Interview for Logistic Department The questions that we will ask to staff from marketing department are: a) Is there anything you like to feedback about the system here? b) What are the problems when you communicate with the affiliated companies? c) What do you think about the company’s working procedure? d) What is your suggestion for company’s new system? The staffs that interviewed are: a) Iya b) Ayi c) Ajeb 1) Interview with Iya Interviewer : Good morning Mr. Iya…How your day today? Thank you for your time here.. Mr. Iya : Morning too…Today is great…Sure…

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

Mr. Iya

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

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

Mr. Iya

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

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

Mr. Iya

: Ok sure… if we get an order from customer, we immediately contact the affiliated company to ask about the availability then we will wait for the reply from the affiliated company. But the problem is that we have to wait for the reply. Sometimes the affiliated company is not reply to us immediately because they are busy with other things.

32

Interviewer : I see…I will write down that…And what do you think about the company’s working procedure? Mr. Iya : There are several people in this department so we have to work together to do the task. Actually we often get some trouble when we have to contact the other person. That’s pretty annoying for me.

Interviewer : I’m sure it is…The last question is what will you suggest for the new system? Mr. Iya : I think it will be great if there is a machine or something that can help us with the communication and make it more effective.

Interviewer : Ok then…That’s all for the interview…Thank you for your time and have a nice day! Mr. Iya : Thank’s bro… Have a nice day too…

33

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

Interviewer : Shall we start our interview? Mrs. Ayi : Sure. Go ahead.

Interviewer : What do you think about the current system in the company? Mrs. Ayi : I will tell the truth here…The system very annoying…

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

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

Interviewer : I see…that way will cost a lot of money…because we have to go back the same twice just for one reason…Am I correct? Mrs. Ayi : Yes…you got the point…

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

34

Interviewer : Ok…That one is very troublesome…if there will be new system to replace the current system, what will you suggest? Mrs.Ayi : Ohhh…that would be nice…I think I will recommend a system that can do the update more quickly and I can check the update directly.

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

35

3) Interview with Ajeb Interviewer : Good Afternoon Mr. Ajeb…How are you today? Thank you for your time here… Mr. Ajeb : Good morning too…I am fine…No problem..

Interviewer : Ok let’s start the interview… Mr. Ajeb : Ok sure.

Interviewer : Let’s start with your opinion about the current system? Mr. Ajeb : In my opinion, the current system is a bit not satisfied because we have a problem when we have to contact the affiliated company.

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

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

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

36

Mr. Ajeb

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

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

37

I.B. Questionnaire The questionnaire that we spread to all the Clover Company’s staffs is: Clover Company ew System Project QUESTIONNAIRE
Please Answer these questions by ticking in the appropriate boxes

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

38

14. If there is a new system, which aspect of the company that need to be emphasized? Financial Department Logistic Department Marketing Department Others, please specify________________ 15. How do you describe the need of new company system in a 1 to 5 scale (1 unimportant, 5 important)? 1 3 2 4 5 16. Which Type Of ew System That You Prefer? Offline System Online System For Each Department
Please answer according to your department. This part ask about the level of satisfaction on current system’s services/procedure (1 lowest, 5 highest)

Marketing Department
System Service/Procedure 1. Receive Order from customer 2. Customer payment method 3. Company Advertising 4. Communication with customer 1 2 3 4 5 Comment ______________________ ______________________ ______________________ ______________________ Comment ______________________ ______________________ ______________________ ______________________ Comment ______________________ ______________________ ______________________ ______________________ Comment ______________________ ______________________ ______________________ ______________________

Financial Department
System Service/Procedure
1. Collect financial information from staffs

1

2

3

4

5

2. Manage customer’s payment 3. Produce financial report 4. Archiving old financial history

Logistic Department
System Service/Procedure 1. Communicate with affiliate companies 2. Synchronize schedule 3. Confirm orders with affiliate company 4. Report changes to order specification 1 2 3 4 5

Management
System Service/Procedure 1. Time needed to make report 2. Availability of old data 3. Customer data management 4. Affiliate company data management 1 2 3 4 5

39

II. ARRATIVE 1. System’s narrative Clover Company’s Online System This online system will be able to facilitate the company’s customer to place their order online. So virtually the customer will be able to access the system anywhere as long as the customer has an internet access. Before a customer can place their order, he/she has to register first by filling the registration form. After the customer submits the registration form, the system will send an e-mail to the customer’s e-mail to verify the registration. After the registration is verified, now the customer can place their order. While filling the order form, the customer will get many options to customize his/her order specification, such as options for catering company, event documentation, event place, etc. The customer will also able to make online payment for their order. All the data and information inputted in this system will be stored in a database. Data about the customer registration, order data, online payment data, company’s financial data, and also data about the affiliate companies is stored in the system’s database. Besides storing data, the database will also used to generate various reports according to the company’s need. Another system’s features for the customer are order tracking feature and customer feedback feature. Firstly, the order tracking feature allows the customer to get up to date information about the progress of his/her order. The customer will also be able to make changes to his/her order specification or get informed by the company if the order’s specification must be changed. Secondly, the customer can give a feedback to the company through the system if the customer is not satisfied by the company’s service or system or if the customer sees a room for improvement. This customer feedback will be reviewed by the company and be considered as suggestion to improve the company’s system or service. Besides providing services for the company’s customer, the online system will also helps the company’s relation with its affiliate companies such as food Supplier Company, logistic company, event documenter company, printing company, etc. The online system will provide feature for a representative of each affiliate company to login into the system. After the affiliate company’s representative has login to the system, now he/she can use the system’s features for the affiliate company. There are some system feature for the affiliate company, they are: User Profile Module, Booking Status Module, and Feedback Module. The User Profile Module is used to display the detail information about the affiliate company, the user can edit or update some of this information if there is any changes in the affiliate company’s profile like contact number or address. The last part of the system is the administrator area, this part is used by the staffs of the Clover Company and no unauthorized person can access this area as this area is secured using password and the login page is not appear in the website’s main page. So, the staff of the company will need to open the login page, enter the user id and password, and then login to the system. After the staff login in the system, then he/she can use the

40

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

41

2. Hardware Requirements The minimum hardware specification to operate this system is: 9. Intel Pentium IV processor or better 10. Minimum 512 Mb RAM 11. Color Monitor 12. Keyboard 13. Mouse with scroll button 14. 160 GB hard disk 15. DSL Internet connection 16. Laser Printer or Dot Matrix Printer For the web server itself, we will host the website on another commercial web server, so we don’t need to buy the expensive web server computer for the company. 3. Software Requirements Development Software The software that is used to develop this new system: 1. Notepad ++ 2. PHP editor 3. PHP (Personal Home Page) 4. phpMyAdmin 5. FileZilla 6. Apache HTTP server 7. MySQL 8. Adobe Dreamweaver 9. Adobe Photoshop 10. Core FTP

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

42

III. PROCESS FLOW The DFD (Data Flow Diagram) of the system is as follows: 1. Proposed System Context Diagram Order Confirmation Customer Order Affiliate Company

Receipt

Payment Order Financial Data Request Report

Company’s System

Confirmation Updated management Data Adjustment Management Report Request Report

Adjust Finance data
Finance Report

Financial Updated Finance Data

Management

43

2. Proposed System 1st level Data Flow Diagram Confirmation Confirmation Customer Order Payment Receipt Update Order data 2.0 Sales Process Order Data Updated Data 1.0 Receive Order Affiliate Company Order

Order data

System Data Center Update Financial data Adjust Finance Data 3.0 Update Adjustment Updated Finance Data Financial Finance Report
Updated Management Data

Management Detailed Data 4.0 Report

Request Report

Request Report Management Report

44

3. 2nd level Data Flow Diagram (1.0 Receive Order) Customer 4. Order Customer detail Order confirmation 1.1 Confirm Customer Detail Customer Detail

New customer detail

Order Confirmation Availability detail
1.2 Confirm Availability

Schedule

Update schedule Order Data Order

Confirmation Affiliate Company

45

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

Payment

Receipt

2.1 Process Payment

Update Payment Status

Order Detail
Order Detail

2.2
Prepare Documentation

Update Order Detail

Order Data

Update Sales Data

Sales

46

5. 2nd level Data Flow Diagram (3.0 Update) Updated Data Financial Affiliate Company Adjustment Schedule Adjustment
Updated Finance Data

Management

Sales Requested Data Order Data
3.1 Receive Data

Requested Data

Requested Data New Data Updated Data
3.2 Update Data

Schedule

Updated Data Updated Data Updated Management Data

47

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

Sales

Schedule Detail

Order Data

Sales detail

4.1 Collect & Sort Information

Order detail

Relevant information Request report Request report

4.2 Prepare Report

Financial

Finance Report

Management Report Management

48

IV. ILLUSTRATIVE SUPPORTIVE INPUT OUTPUT
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

PROCESS
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

CONTROL
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

49

TIMING

About 10 payments per month About 10 customer registration per month As and when customer register As and when customer make order and payment

registration Same volume as payment

FREQUENCY

Daily – customer registration, order, and payment Monthly – Report Request Registration form Order form Phones E-mail Clover company’s website

EQUIPMENT

As soon as possible, timing is crucial to customer registration, order, and payment Generate monthly financial report Generate monthly management report Daily – customer order confirmation and receipt Monthly – financial report and management report E-mail Phone Printed Hardcopies Clover company’s website

Real time processing Batch Processing

Performed on demand

PCs Printers

Form with verification code

LOCATION

PEOPLE

Customers Finance Staff Logistic Staff Management Affiliate company’s staffs

Customers Finance Staff Logistic Staff Management Affiliate company’s staffs

Respective areas (Customer, affiliate, and administrator area) Customers Finance Staff Logistic Staff Management Affiliate company’s staffs

Respective areas (Customer, affiliate, and administrator area) Department managers System administrator

50

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.

51

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.

52

iii) Mandatory Constraint The mandatory constraints of the system are constraints that are absolutely essential to be met because if these requirements is failed to be satisfied, then the company’s operation will be suspended. Examples of these mandatory constraints are: Order Management Customer Management Synchronization with affiliate companies iv) Desirable Constraint Desirable constraints are constraints that are less important than the mandatory constraint. The system still able to do its main purpose for the company without these constraints, but if these constraints are met, the system will be better. Examples of these desirable constraints are: Online payment Generate report for Finance and Management department

53

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.

54

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

55

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

Top Management

Marketing

Financial

Logistic

Director

Advertising

Supervisor

Accountant

Logistic Coordinator Agent

Assistant

Market Research & Analyst

Treasurer

56

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

Order Confirmation Customer Order Affiliate Company

Receipt

Schedule Payment Order Financial Data Request Report Adjust Finance data
Finance Report

Company’s System

Confirmation Updated management Data Adjustment Management Report Request Report

Financial Updated Finance Data

Management

57

I. c. 2. Proposed System 1st level Data Flow Diagram Confirmation Confirmation Customer Order Payment Receipt Update Order data 2.0 Sales Process Order Data Updated Data Schedule Order data 1.0 Receive Order Affiliate Company Order

System Data Center Update Financial data Adjust Finance Data 3.0 Update Adjustment Updated Finance Data Financial Finance Report
Updated Management Data

Management Detailed Data 4.0 Report

Request Report

Request Report Management Report

58

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

Order Customer detail Order confirmation 1.1 Confirm Customer Detail Customer Detail

New customer detail

Order Confirmation Availability detail
1.2 Confirm Availability

Schedule

Update schedule Order Data Order

Update schedule

Confirmation
3.0

Affiliate Company Schedule

Update

59

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

Payment

Receipt

2.1 Process Payment

Update Payment Status

Order Detail
Order Detail

2.2
Prepare Documentation

Update Order Detail

Order Data

Update Sales Data

Sales

60

I. c. 5. 2nd level Data Flow Diagram (3.0 Update) Updated Data Financial Affiliate Company Adjustment Schedule Adjustment
Updated Finance Data

Management

Sales Requested Data Order Data
3.1 Receive Data

Requested Data

Requested Data New Data Updated Data
3.2 Update Data

Schedule

Updated Data Updated Data Updated Management Data

61

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

Sales

Schedule Detail

Order Data

Sales detail

4.1 Collect & Sort Information

Order detail

Relevant information Request report Request report

4.2 Prepare Report

Financial

Finance Report

Management Report Management

62

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

Payment

Order

Event

Schedule_distribution

Schedule

Affiliate

Service

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

63

c. Order i. ii. iii. iv. v. vi. vii. viii. ix. x.

order_id customer_id schedule_id event event_date event_time additional_info date pay_mode 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. ii. iii. iv. v. vi. vii. viii.

Event Description Price Venue Food Documentation Publication Entertainment

g. Service i. service ii.service_desc h. Schedule_Distribution i. schedule_id ii. affiliate_id iii. order_id iv. confirmation v. note

64

b. Data Structure a. Customer Detail information of the customer Data Element Data Type Size customer_id Integer 5 name Varchar 100 gender Varchar 1 date_of_birth Date e-mail Varchar 100 IC/Passport no. Varchar 20 Password Varchar 20 Phone Varchar 10 b. Affiliate Data Element affiliate_id name Phone e-mail Password Service Address Description c. Order Data Element Order_id Date customer_id Schedule_id Event Event_date Event_time Additional_info Pay_mode Pay_status

Description Validation Primary Key No duplicate Customer name Customer gender M/F Customer date of birth dd/mm/yyyy Customer e-mail e-mail format Customer IC/Passport Customer Password Customer phone no. Number

Data Type Integer Varchar Varchar Varchar Varchar Varchar Text Text

Size 5 100 20 100 20 100 -

Description Primary Key Affiliate name Affiliate phone no. Affiliate e-mail Affiliate Password Affiliate company’s service Affiliate address Affiliate description

Validation No duplicate Number e-mail format -

Data Type Integer Date Integer Integer Varchar Date Time Text Varchar Varchar

Size 5 5 5 50 10 10

Description Primary Key Order’s date Customer’s id Schedule’s id Event description Event Date Event time Additional info about event Customer payment mode Customer payment status

Validation No duplicate dd/mm/yyyy Valid id Valid id -

d. Schedule Data Element schedule_id

Data Type Integer

Size 5

Description Primary Key

Validation No duplicate

65

Date e. Payment Data Element payment_id Order_id date Amount remain f. Admin Data Element admin_id e-mail Password Name g. ews Data Element news_id news title News content Picture news_date News_time News_days Counter

Date

-

Available date

dd/mm/yyyy

Data Type Integer Integer Date Decimal Decimal

Size 5 5 20 20

Description Primary Key Payment type Payment date Amount of payment Customer’s id

Validation No duplicate Valid id dd/mm/yyyy Numeric Valid id

Data Type Integer Varchar Varchar Varchar

Size 5 100 100 100

Description Primary Key Affiliate e-mail Affiliate Password Affiliate Name

Validation No duplicate e-mail format -

Data Type Integer Varchar Memo Varchar Date Time Varchar Integer

Size 5 100 100 100 5

Description Primary Key News title News content News picture address Date of the news Time of the news Day of the news Number the website visited

Validation No duplicate dd/mm/yyyy Hh/mm -

66

II. c. Architectural Design Event Organizer System

Start

Body

*

End

o

o

o

News

Login

Register

o

o

Customer

Administrator

Profile Make Order Order Status

o

o

o

Payment

o

o

o

Report
o

Manage

Affiliates

Profile

o

o

Order Status

o

67

Main Menu

Register

Login

News

Affiliates

Customer

Administrator

Profile

Profile Make Order Payment

Reports Order Maintenance Manage Customer/ Affiliate company Manage News

Order Status

Order Status

Confirm Check Order

68

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

Display Main Menu

Get Choice

News

No

Register

No

Login

No

Exit

Yes
Display News

Yes

Yes

Yes

A

B

End

69

A

Get Information

Display Information

Add to database

Display Main Menu

70

B

Display login screen

Get Choice

customer

No

affiliate
Yes

No

admin

Yes
Get Id & password

Yes

Compare with database

Correct

No

Yes

customer

No

affiliate

No

admin

Yes

Yes

Yes

C

D
71

E

C

Display welcome screen

Get Choice

profile

No

Make order

No

payment

No

Order status

No

logout

Yes

Yes

Yes

Yes

Yes
Display Main Menu

C1

C2

C3

C4

72

C1

C3

C4

Display profile data

Display form

Display profile data

Get info Get choice Get choice

Change

No

C

Update Database

Change

No

C

Display form

Display Confirmation

Display form

Get data

C2

C

Get data

Display form

Update database

Update database

Get info

Update Database

Display Confirmation

C

73

D

Display welcome screen

Get Choice

profile

No

Order status

No

logout

Yes

Yes

Yes
Display Main Menu

D1

D2

74

D1

D2

Display profile data

Display order status

Get choice

Get choice

Change

No

D
Confirm

No

Get reason

Display form

Yes Update database

Get data

D
Update database

75

E

Display welcome screen

Get Choice

reports

No

order maintenance

manage No customer & affiliate

No

manage news

No

logout

Yes

Yes

Yes

Yes

Yes
Display Main Menu

E1

E2

E3

E4

76

E1

E2

Display Menu

Display order list

Get report type

Get choice

No
Make report from database

Order

E

Display Report

Display order menu

Get choice

E

Edit

Display form

Get info

Update database

E2 77

E3

E4

Display order list

Display news list

Get choice

Get choice

No Order E Order

No E

Display order menu

Display order menu

Get choice

Get choice

Edit

Edit

Display form

Display form

Get info

Get info

Update database

Update database

E3

78

E4

II. e. Interface Design In this part, we will show rough design of the system’s interface. The system will be displayed to the user as web pages, so it will more or less have the typical design of a web page such as header and left panel with buttons or hyperlinks. The buttons and text that will be shown here is just the essential buttons and text in the system. The actual system will have decorative elements such as pictures, texts, and features. II. e. 1. Common interface elements Common interface elements are interface elements that will be shown in all the pages. There are three items fall on this category: header, left panel, and footer. Since these two items will be present in all the screens, so we will explain them separately here to reduce redundancy. II. e. 1. i. header
header Header image Hyperlink 1 Text 1 Hyperlink 2

No. 1. 2. 3. 4.

Item Header image Hyperlink 1 Text 1 Hyperlink 2

Type Picture Hyperlink Text Hyperlink

Description Picture and company logo Go to respective user page Login status of user Will show “login” or “logout”

79

II. e. 1. ii. left panel
Left panel Hyperlink 1 Hyperlink 2 Hyperlink 3 Hyperlink 4 Hyperlink 5 Hyperlink 6 Hyperlink 7 Hyperlink 8

No. 1. 2. 3. 4. 5. 6. 7. 8.

Item Hyperlink 1 Hyperlink 2 Hyperlink 3 Hyperlink 4 Hyperlink 5 Hyperlink 6 Hyperlink 7 Hyperlink 8

Type Hyperlink Hyperlink Hyperlink Hyperlink Hyperlink Hyperlink Hyperlink Hyperlink

Description Home News Login Register Party Packages Vendor About Us Contact us

II. e. 1. iii. footer
footer Hyperlink 1 Hyperlink 2 Hyperlink 3 Hyperlink 4 Hyperlink 5 Hyperlink 6

Text 1

No. 1. 2. 3. 4. 5. 6. 7.

Item Hyperlink 1 Hyperlink 2 Hyperlink 3 Hyperlink 4 Hyperlink 5 Hyperlink 6 Text 1

Type Hyperlink Hyperlink Hyperlink Hyperlink Hyperlink Hyperlink Text

Description Home News Login Register About Us Contact us Copyright

80

II. e. 2. Main Menu
Header

Left panel

content

Footer

No. 1. 2. 3. 4.

Item Header Left Panel Footer Content

Type

Text, pictures

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer The content of main page, newest news, promotion, services, etc.

81

II. e. 3. ews
Header

Text 1 Text 2 Text 3

Left panel

Text 4 hyperlinks
Footer

No. 1. 2. 3. 4. 5. 6.

Item Header Left Panel Footer Text 1, 2, and 3 Text 4 Hyperlinks

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Text and Hyperlink News title and hyperlink Text Page indicator Hyperlink Page navigator

Type

82

II. e. 4. Login
Header

Text 1 Text 2 Text 3 Text box 1 Text box 2 Button

Left panel

Footer

No. 1. 2. 3. 4. 5. 6. 7. 8. 9.

Item Header Left Panel Footer Text 1 Text 2 Text 3 Text box 1 Text box 2 Button

Type

Text Text Text Text input Password input Button

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Customer login (default) User id Password

Submit button

83

II. e. 5. Customer
Header

Hyperlink 1
Left panel

Hyperlink 2 Hyperlink 4 Hyperlink 6

Hyperlink 3 Hyperlink 5

Hyperlink 7

Footer

No. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Item Header Left Panel Footer Hyperlink 1 Hyperlink 2 Hyperlink 3 Hyperlink 4 Hyperlink 5 Hyperlink 6 Hyperlink 7

Type

Hyperlink Hyperlink Hyperlink Hyperlink Hyperlink Hyperlink Hyperlink

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Profile Make Order Payment Order status Feedback User Guide Logout

84

II. e. 6. Profile
Header

Left panel

Profile

Hyperlink 1

Hyperlink 2

Footer

No. 1. 2. 3. 4. 5. 6.

Item Header Left Panel Footer Hyperlink 1 Hyperlink 2 Profile

Type

Hyperlink Hyperlink Text

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Edit Back Customer/affiliate company’s profile from database

85

II. e. 7. Make order
Header

Left panel

Order form

Button

Hyperlink 1

Footer

No. 1. 2. 3. 4. 5. 6.

Item Header Left Panel Footer Order Form Button Hyperlink 1

Type

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Form that customer fill to make new order. Submit button for order form Back

Text, text box, radio button, check box, combo box Button Hyperlink

86

II. e. 8. Payment
Header

Left panel

Order information

Button

Footer

No. 1. 2. 3. 4. 5.

Item Header Left Panel Footer Order information Button

Type

Text Button

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Order information Button to do online payment via paypal

87

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

Text 1 Text 2 Text 3

Hyperlink Hyperlink Hyperlink

Left panel

Footer

No. 1. 2. 3. 4. 7.

Item Header Left Panel Footer Text 1, 2, and 3 Hyperlink

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Text and Hyperlink Order 1, 2, and 3 (if any) Hyperlink Order Detail

Type

88

II. e. 10. Affiliate
Header

Hyperlink 1
Left panel

Hyperlink 2

Hyperlink 3

Hyperlink 4

Hyperlink 5

Footer

No. 1. 2. 3. 4. 5. 6. 7. 8.

Item Header Left Panel Footer Hyperlink 1 Hyperlink 2 Hyperlink 3 Hyperlink 4 Hyperlink 5

Type

Hyperlink Hyperlink Hyperlink Hyperlink Hyperlink

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Profile Order Status Feedback User Guide Logout

89

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

Text 1 Text 2 Text 3

Hyperlink 1 Hyperlink 1 Hyperlink 1

Hyperlink 2 Hyperlink 2 Hyperlink 2

Left panel

Footer

No. 1. 2. 3. 4. 5. 6.

Item Header Left Panel Footer Text 1, 2, and 3 Hyperlink 1 Hyperlink 2

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Text and Hyperlink Order 1, 2, and 3 (if any) Hyperlink Confirm Hyperlink Reject

Type

90

II. e. 13. Administrator
Header

Hyperlink 1
Left panel

Hyperlink 2 Hyperlink 4 Hyperlink 7

Hyperlink 3 Hyperlink 6

Hyperlink 8

Footer

No. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Item Header Left Panel Footer Hyperlink 1 Hyperlink 2 Hyperlink 3 Hyperlink 4 Hyperlink 5 Hyperlink 6 Hyperlink 7

Type

Hyperlink Hyperlink Hyperlink Hyperlink Hyperlink Hyperlink Hyperlink

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Reports Order management Manage customer & Affiliate Manage News Manage Payment User Guide Logout

91

II. e. 14. Report
Header

Text 1
Left panel

Combo box

Button

Footer

No. 1. 2. 3. 4. 5. 6.

Item Header Left Panel Footer Text 1 Combo Box Button

Type

Text Combo box Button

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Report Type List of available report types Submit button to execute selected report type

92

II. e. 15. Order management
Header

Text 1 Text 2 Text 3

Hyperlink 1 Hyperlink 1 Hyperlink 1

Left panel

Footer

No. 1. 2. 3. 4. 5.

Item Header Left Panel Footer Text 1, 2, and 3 Hyperlink 1

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Text and Hyperlink Order 1, 2, and 3 (if any) Hyperlink Order Detail

Type

93

II. e. 16. Manage customer & affiliate
Header

Hyperlink 1 Hyperlink 3 Text 1 Text 2 Text 3

Hyperlink 2

Left panel

Hyperlink 4 Hyperlink 4 Hyperlink 4

Footer

No. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

Item Header Left Panel Footer Text 1, 2, and 3 Text 4 Hyperlinks Hyperlink 1 Hyperlink 2 Hyperlink 3 Hyperlink 4

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Text and Hyperlink Customer/affiliate 1, 2, and 3 (if any) Text Page indicator Hyperlink Page navigator Hyperlink Customer list Hyperlink Affiliate list Hyperlink Add profile Hyperlink Edit

Type

94

II. e. 17. Manage ews
Header

Hyperlink 1

Left panel

Text 1 Text 2 Text 3

Hyperlink 2 Hyperlink 2 Hyperlink 2

Hyperlink 3 Hyperlink 3 Hyperlink 3

Footer

No. 1. 2. 3. 4. 5. 6. 7.

Item Header Left Panel Footer Text 1, 2, and 3 Hyperlink 1 Hyperlink 2 Hyperlink 3

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Text and Hyperlink News 1, 2, and 3 (if any) Hyperlink Add News Hyperlink Edit News Hyperlink Delete News

Type

95

II. e. 18. Register
Header

Left panel

Registration form

Button

Hyperlink 1

Footer

No. 1. 2. 3. 4. 5. 6.

Item Header Left Panel Footer Registration Form Button Hyperlink 1

Type

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer Form that customer fill to register. Submit button for order form Back

Text, text box, radio button, check box, combo box Button Hyperlink

96

II. e. 19. About us
Header

Left panel

content

Footer

No. 1. 2. 3. 4.

Item Header Left Panel Footer Content

Type

Text, pictures

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer The content of about us – company’s profile

97

II. e. 20. Contact us
Header

Left panel

content

Footer

No. 1. 2. 3. 4.

Item Header Left Panel Footer Content

Type

Text, pictures

Description Refer to II. e. 1. i. header Refer to II. e. 1. ii. left panel Refer to II. e. 1. iii. footer The content of contact us page – company’s contact and address.

98

III. Hardware and Software Selection III. a. Hardware specification The minimum hardware specification to operate this system is: 17. Intel Pentium IV processor or better 18. Minimum 512 Mb RAM 19. Color Monitor 20. Keyboard 21. Mouse with scroll button 22. 160 GB hard disk 23. DSL Internet connection 24. Laser Printer or Dot Matrix Printer For the web server itself, we will host the website on another commercial web server, so we don’t need to buy the expensive web server computer for the company. III. b. Software Requirements Development Software The software that is used to develop this new system: 1. Notepad ++ 2. PHP editor 3. PHP (Personal Home Page) 4. phpMyAdmin 5. FileZilla 6. Apache HTTP server 7. MySQL 8. Adobe Dreamweaver 9. Adobe Photoshop 10. Core FTP

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

99

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

100

technique that we would like to implement for our event organizer system testing activity, we will choose the black box testing technique. Black box testing, also known as interface testing, is a testing technique where the test cases is derived from the system’s requirement. So, we will take the event organizer system’s requirement as a reference to generate the test cases and we will try to see if the actual system can fulfill its requirements. In our black box testing activity, we create the test cases based on our system’s requirement, so what the requirement says that the system can do, the actual system should be able to do the function as stated in the requirement. Basically, we can decide if the test is successful or not just by looking whether the stated function in the requirement can be performed by the system or not. Our consideration of choosing black box testing as our testing method is because black box testing can do many things such as: • Loading, executing, and terminating errors • Detecting any Interface error • Find out about performance errors • Detect bug in data structure • Detect missing functions Below is a diagram for the procedure of doing black box testing:
System Requirement

Derrive test data

Implementation Expected results

Result match?

Execute test

No, then debug the system

yes, go to the next test case

101

Test Cases Test Test Objectives Cases 1 Check the new customer registration process, test the input validation 2 Test if the customer can access the customer page after he/she have activated his/her account. Test the edit profile in customer page Test the “make order” module to make a new event order

Expected results An alert will appear and the input box with invalid input value will become red and the correct input box will become green. The customer can access the customer page. The customer can edit his/her profile using the edit profile Customer can make a new order using the make order module, a notification will be given to the customer in the customer page The customer’s order(s) displayed. The customer can see his/her order status and information using the “order status” module Customer will be redirected to Paypal’s website after clicking the “pay now” button. Customer redirected back to customer page with a status message Affiliate company can login and redirected to the affiliate page Affliate company’s profile can be changed using “profile” module

3 4

5

6

7

8

9

10

11

12 13

14

Test if the customer can see his/her order status and information using the “order status” module Test if the customer can use the “payment” module to pay his/her order through Paypal Test if the customer will be redirected to the website after making payment Test if an affiliate company can log in and access the affiliate page Test if the an affiliate company can change its company information using the “profile” module Test if the affiliate company can check its order status using “order status” module Test that an affiliate company need to give a reason if it want to reject an order Test that the confirmation status can be changed to “confirmed” Test if the affiliate company can send a feedback using the “feedback” module (also applicable to customer) Test that the administrator can

Orders for the respective affiliate company will be displayed A form to fill the rejection reason will appear before the status is changed as rejected The confirmation status of the order become “confirmed” A feedback is sent to the administrator’s e-mail after the feedback form has been successfully submitted The administrator can login and access

102

15

16

17 18

19

20

login and access the admin page Test that the administrator can generate the desired report using “report” module Test the “manage order” module to show all the order in the database Test that administrator can edit an order information Test the “customer & affiliate” module to show information about customers and affiliate companies Test that the administrator can add a new customer (also applicable to affiliate company) Test that the administrator can add a new news to the website using the “manage news” module

the admin page The selected type of report is displayed

All the order in the database is displayed

The order information is updated after the editing process The information about customer and affiliate company is displayed according to which one is choosen The administrator can add a customer to the database New news added to the website and is accessible from the “news” page

103

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

104

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

Step 2

105

Incorrect input

106

After Step 1

Step 2

107

Test case Objectives Test Action

2 Test if the customer can access the customer page after he/she have activated his/her account. Complete the registration form, click on activation link on the e-mail, and then login from the login page

Expected Test Result Actual Test Result Conclusion Before Step 1

The customer can access the customer page after the account is activated As shown below Succeeded

Step 2

108

Step 3

After

109

110

Test case Objectives Test Action

3 Test the edit profile in customer page Change the customer information in the “profile” module then click save changes

Expected Test Result Actual Test Result Conclusion Before Step 1

The customer can edit his/her profile using the edit profile As shown below Succeeded

Step 2

111

112

After

113

Test case Objectives Test Action Expected Test Result Actual Test Result Conclusion Before Step 1

4 Test the “make order” module to make a new event order Complete the order form inside the “make order” module Customer can make a new order using the make order module, a notification will be given to the customer in the customer page As shown below Succeeded

Step 2

114

Step 3

After

115

116

Test case Objectives Test Action Expected Test Result Actual Test Result Conclusion Before

5 Test if the customer can see his/her order status and information using the “order status” module Click the “order status” module from customer page The customer’s order(s) displayed. The customer can see his/her order status and information using the “order status” module As shown below Succeeded

After

117

118

Test case Objectives Test Action Expected Test Result Actual Test Result Conclusion Before

6 Test if the customer can use the “payment” module to pay his/her order through Paypal Click the “pay now” button in the “payment” module Customer will be redirected to Paypal’s website after clicking the “pay now” button. As shown below Succeeded

After

119

120

Test case Objectives Test Action Expected Test Result Actual Test Result Conclusion Before

7 Test if the customer will be redirected to the website after making payment Complete the paypal payment Customer redirected back to customer page with a status message As shown below Succeeded

After

121

Test case Objectives Test Action

8 Test if an affiliate company can log in and access the affiliate page Fill the login form with the e-mail and password of an affiliate company, in this case we use : Affiliate company name : ABCfood e-mail : thomaset_2000@yahoo.com password: abcpass

Expected Test Result Actual Test Result Conclusion Before

Affiliate company can login and redirected to the affiliate page As shown below Succeeded

After

122

123

Test case Objectives Test Action

9 Test if the an affiliate company can change its company information using the “profile” module Change the affiliate company’s information in the “profile” module then click save changes

Expected Test Result Actual Test Result Conclusion Before Step 1

Affliate company’s profile can be changed using “profile” module As shown below Succeeded

Step 2

124

125

After

126

Test case Objectives Test Action Expected Test Result Actual Test Result Conclusion Before

10 Test if the affiliate company can check its order status using “order status” module Click the “order status” module from affiliate page Orders for the respective affiliate company will be displayed As shown below Succeeded

After

127

Test case Objectives Test Action Expected Test Result Actual Test Result Conclusion Before Step 1

11 Test that an affiliate company need to give a reason if it want to reject an order Click reject for one of the order A form to fill the rejection reason will appear before the status is changed as rejected As shown below Succeeded

Step 2

128

129

After

130

Test case Objectives Test Action Expected Test Result Actual Test Result Conclusion Before

12 Test that the confirmation status can be changed to “confirmed” Click on the “confirm” for an order The confirmation status of the order become “confirmed” As shown below Succeeded

After

131

Test case Objectives Test Action

13 Test if the affiliate company can send a feedback using the “feedback” module (also applicable to customer) Click the “feedback” module, fill the feedback form, and then click the “send feedback” button

Expected Test Result Actual Test Result Conclusion Before Step 1

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

Step 2

132

133

After

134

Test case Objectives Test Action

14 Test that the administrator can login and access the admin page Fill the e-mail and password for an administrator from the login page The data used in this test: Name : David e-mail : ngekzzz@hotmail.com password : cloverpass

Expected Test Result Actual Test Result Conclusion Before

The administrator can login and access the admin page As shown below Succeeded

After

135

136

Test case Objectives Test Action Expected Test Result Actual Test Result Conclusion Before

15 Test that the administrator can generate the desired report using “report” module Select a report type and the click the “view report” button The selected type of report is displayed As shown below Succeeded

After

137

Test case Objectives Test Action Expected Test Result Actual Test Result Conclusion Before

16 Test the “manage order” module to show all the order in the database Click the “manage order” module from admin page All the order in the database is displayed As shown below Succeeded

After

138

Test case Objectives Test Action

17 Test that administrator can edit an order information Click “detail” for an order, click the “edit order information” link, fill the form, and then click submit

Expected Test Result Actual Test Result Conclusion Before Step 1

The order information is updated after the editing process As shown below Succeeded

Step 2

139

140

Step 3

Step 4

141

After

142

Test case Objectives Test Action Expected Test Result Actual Test Result Conclusion Before

18 Test the “customer & affiliate” module to show information about customers and affiliate companies Click on the “customer & affiliate” module from admin page The information about customer and affiliate company is displayed according to which one is choosen As shown below Succeeded

After Customer

143

144

Affiliate

145

Test case Objectives Test Action Expected Test Result Actual Test Result Conclusion Before Step 1

19 Test that the administrator can add a new customer (also applicable to affiliate company) Click “add customer” button, fill the form, and then click submit The administrator can add a customer to the database As shown below Succeeded

Step 2

146

147

Step 3

After

148

149

Test case Objectives Test Action

20 Test that the administrator can add a new news to the website using the “manage news” module Click on the “add news” in the “manage news” module, fill the form and then click the “save” button

Expected Test Result Actual Test Result Conclusion Before Step 1

New news added to the website and is accessible from the “news” page As shown below Succeeded

Step 2

150

151

Step 3

After

152

153

4.2 Implementation: Conversion and Training Plan The final stage is that we need to implement the program into the event organization system so that it will perform its task with efficient and effective. For this implementation, we can do 4 different technique like : Pilot Conversion = At first, the new system will be implemented at the certain branch of the organization. After the new system at the branch is considered success, it will be implemented at the whole organization. Direct Conversion = The new system will be implanted directly to the organization so the old system will be replaced directly. This technique is considered very risky because if the new system is not working properly and the old system has been discarded, it will be a disaster to the organization. Parallel Conversion = In this technique, the new system and the old system will be used at the same time. If the new system is satisfied, then the old system will be discarded and replaced by the new system. This is the safest method to implement the new system. Phased Conversion = The new system will be implemented part by part. For example: for the first, part A is implemented then after the part A is considered as success, then the part B will start to be implemented and so on until the whole old system is replaced by the new system.

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

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

This is a schema how will the conversion work:
Back Up Current System

Convert the old system into new system

Is it the expected result?

No

Debug

Yes Discard the old system

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

155

In the conversion plan, people who has to take a part in this plan are : System Analyst Programmer Database Administrator IT support technician When doing the conversion, all people will be involved. For programmer and system analyst who has a big part at the implementation stage, they have to prepare if something or some errors occur during the implementation stage. Person who has to be there to make sure everything is going according to plan is system analyst since he is the one who plan all the implementation stage and phase. If there is some mistake, system analyst is the one who has to responsible and system analyst has to monitor every single step in the implementation stage. Another important person who has to involve in this stage is the main programmer of the new system. He is the one who make the program so if something happen; he has to make a quick move to resolve the problem. Also if the user needs assistance when using the new program, the programmer will be there to guide them. The database administrator holds a responsibility to ensure that the database is able to add, delete, edit, store and update. The last thing is the IT support technician; he is the one that responsible for the hardware for the new system. For example, installation of the hardware and also if there is a problem with the internet connection because the system needs to go online.

156

4.3 Implementation : User Guide. 4.3.1 Installation and Running the System.
There are two main ways on how to run our event organizer system: 1. Using the online version 2. Use it locally in a computer 1. Using the online version Using the online version of our project is the simplest way to use our event organizer system. All you need is a computer with web browser and connection to the Internet. Open the web browser in the computer and then go to this address: http://davidkeiththomas.freevar.com/eowebsite/ Because using the online version of our system is the simplest way, so we recommend you to use this method. However, if you want to try to run our system locally in your computer, you can follow the guide to use the system locally in the next section. 2. Use it locally in a computer In order to be able to run our system locally in your computer, you will need to install some software. The first software is XAMPP, it is used to run the PHP and the MySql server. The second software is Argosoft mail server that will act as a local mail server for the computer. The third software is Mozilla Thunderbird to retrieve the e-mail from the mail server. The last software is a web browser, in this guide we will use Mozilla Firefox 3. Installation Steps: 1. Step 1 Download and install XAMPP from its website http://www.apachefriends.org/en/xampp-windows.html Follow the installation wizard and don’t forget to check the option to install Apache and Mysql as a service. We recommend to install it in C:/ Drive’ 2. Step 2 Download and install Argosoft mail serve from its website http://www.argosoft.com/RootPages/Download.aspx Download the Mail server freeware (agsmail.exe) Follow the installation wizard, run the argosoft mail server. Then you need to do some configuration. Click on tools – option – then go under local domains tab Add two local domains (localhost and localhost.com) as the local domain Click ok Click tools – user – add new user Enter “webmaster” as user name then enter your full name and password 3. Step 3 157

Download and install Mozilla Thunderbird from its website http://www.mozilla.com/en-US/thunderbird/ Follow the installation wizard. Then open the Mozilla Thunderbird and do some configurations: Click file – new – account Email Account – next Enter your name as in the argosoft mail server Enter e-mail address as webmaster@localhost Click next Enter “localhost” as the incoming server, click next Enter your desired incoming name, click next Enter “webmaster@localhost” as account name, click next Click Finish Repeat this configuration with webmaster@localhost.com as the e-mail address and account name 4. Step 4 Step 4 is installing Mozilla firefox as a web browser, but you can use any other web browser in your computer, you can download Mozilla firefox from this website http://www.mozilla.com/en-US/firefox/all.html Install and follow the installation wizard 5. Step 5 Copy the “eowebsite” folder found in the CD to “C:\xampp\htdocs” (assumed that you install the XAMPP in “C:\” 6. Step 6 Copy the “eodb” folder found in the CD to “C:\xampp\mysql\data” (assumed that you install the XAMPP in “C:\” 7. Step 7 Open your web browser, then type in the address bar http://localhost/eowebsite Now you can start to use the website

158

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

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

159

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

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

160

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

After customer make a necessary change in their own profile, they need to save changes and then customer will be back into customer main page. If customer chooses to make an order, they can just click the link in the customer main page and the page will go to this page

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

161

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

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

162

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

There is status whether the order has been paid, half-paid or unpaid. The customer can make a payment by using paypal. If the customer wants to send a feedback to the organization, they can choose the feedback module in the customer main page.

163

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

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

There are 7 modules in the administrator section which are reports, manage order, customer & affiliates, manage news, manage payment, user guide and logout. If the administrator wants to see the reports of the active order, all payment, the income of current month, etc. They can access the reports module from the administrator main page.

164

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

The administrator can choose to print the report or they just want to see it and then go back to previous page and look for another report. If the administrator wants to manage order, they can just go to manage order module in the administrator main menu.

165

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

166

In this page, administrator can choose between customer data or affiliate company data. Administrator also can add a customer or affiliate company data in this page and also if they are able to see more detail information about customer and affiliate company. If administrator wants to manage the news for the main page of this website which is containing about news of this organization event.

167

In this page, administrator can add, edit or delete the news from the database. If the administrator wants to manage the payment of the order, they can choose the manage payment module in the administrator main page. Administrator can add, edit and delete payment in this module. This module is required for producing the report in the report module. There is also user guide module in this administrator main page. This user guide is for a guide that is similar to this. Logout is a module to logout from the administrator main page.

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

168

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

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

169

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

In this page, Affiliate Company can see about their order detail. If the affiliate company wants to send a feedback to the organization, they can choose the feedback module in the customer main page

170

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

171

4.4 Critical Appraisal: Combined
Clover Event Organizer is an online-based system that is developed to make this organization to become a bigger, wider and more effective. From previous method that is we have to make a record manually and search for certain record manually, now we can add and search for a certain record by using computer which is faster and more efficient. This system is using PHP.net and MySQL for programming and database language. There are some major modules that we can see in this system: By combining PHP.net for the online system and MySQL for database will make this system is powerful because you can modify the system easily and retrieve information easily. This system is built in three section which are user section, administrator section and affiliate company section. The user section is for customer who wants to use our service. They have to register first if they want to login. Inside the system, the customer is able to choose the package they want to choose or they can choose the vendor manually. There is also payment service PayPal if they want to make an online payment. The Administrator section is for the administrator who wants to manage the order or confirm the order that has been accepted by the vendor. We can produce a different record. For example records like: payment, income of current month, income for the last three month, etc. There is affiliate and customer module for the list of customer and affiliate company details. And there is user guide module for people who still need a guide about how to use the system. The Affiliate section is for the affiliate company to check the order status or if they want to change their profile. They also can send a feedback to Clover event organizer if they feel something is not suitable or something is wrong with the website. There is also a user guide for Affiliate Company about how to use the website. We try to make this website is user friendly so that the user is not having a hard time to access the website. The last thing to do is to create this documentation and user manual for the end-user so that they can understand about the basic of this system. There are a lot of problems occurred when we develop this system but in the end, we finally finish it. This system is not yet a perfect system. There are still some of things that we have to modify in the future, for example like: Affiliate Company can upload the schedule into the system, so that they can automatically book from the website.

172

4.5 Critical Appraisal: Individual
Critical Appraisal by: David Irawan Adhiguna 018800004337 At the first time I heard that this project will be a group project, I feel relieved because 2 project before I have to do myself. Then we have to choose whether we want to create an offline system or online system. I and my group thought and considered which the best for this project is between online and offline. After all discussion, we finally choose the online system because it will more challenging for us. We start to make a proposal for the system, and for the first try, the proposal is need to revised again because of some point is still not right and we have to change it. The second try, the proposal was accepted and we were very happy. We have to finish this project in two terms time so we complete until analysis documentation in the first term and the second term we start with design documentation. The second term, we have to do coding and we still do not know about the programming language for online-based system so we need to study the programming language first. We choose PHP.net for online programming and MySQL for database. Both language we need to study first and the time given is very short. At first I thought we are not going to make it in time because there are too much to do. But with Thomas magnificent brain, we can overcome the difficulties and we are able to finish it in time. Also there are times that Keith is not able to attend some time when we work together because he was ill and cannot make it to our place. So the work was a little bit delayed. We try to search free hosting website so that we can upload our work there. At first, we found that we can pay them every month so that we can upload our website. We thought we want to pay for it for 2 months but the rules said that we need to rent it for minimum 12 months. After read that rules, our spirit is down for a moment but there is a free hosting website so we still able to upload our website. Thanks God!! We found many problems when we do the coding because the language is very new for me and we need to learn the language from the website that is provide a lesson for this language. There are many challenging situation that we need to think hard to get the logic so we can get what we want in the coding. The lesson that I have learned from making this system is that teamwork is much needed when we have to create a group project because without teamwork, it will never be done in time. Thank you for Thomas and Keith that we have been working together for this project.

173

Critical Appraisal by: Keith ishan Fernandez 018800004402 I feel excited when I have to do this project because I and my teammate choose to create an online system. I really want to do online system from before I go to college because it looks interesting and fun to do it. We start to do the project and Thomas also starts to split the work among us. With Thomas capability for leadership in the team, we are able to do our job but because my health is not in the good condition, sometimes I cannot attend when we have to gather to think about how the system works and so on. When we choose to use PHP.net and MySQL to create the system, I a little bit worry because we need to learn a whole new programming language with very little time. I worry that time will not be enough for us to do the project but in the end, I am very relieved that the project is finished in time. That is all thanks to teamwork that we have been through. The most important thing in the project that we have to develop in groups is that we have to have a good leader that can manage the whole team so that all of us are able to work together so the work will finish faster and more efficient.

174

Critical appraisal by Thomas Setiabudi (018800004137) Thanks God that our team is able to finish this project. It is a very satisfying feeling to know that finally we can finish this project. Back then, early term 2 2008, when we start the C2006 module, I do not have any idea about what system that I should make for this module. Then, after my group has been formed, we, David, Keith, and I discussed about what system we should make. We start with a passion and confusion because we suggested some idea to our project lecturer, Ms. Mullai (Second term lecturer is Mr. Pala), and she keep saying that our system idea is just too simple, we just don’t know what we should do that time. The second week, David come out with an idea about making a system for an event organizer. This idea comes from his real life friends who set up an event organizing company. I am interested in this idea and we start to discuss more about this system. The idea of developing a system for event organizer is very interesting as I think that there is not many similar projects like this out there. After we decide that we will make this project as an online system, the next thing that we need to decide is what programming language we want to use. Luckily, we can make a fast decision about this matter. We decide to use PHP and use MySql for the database because I have tried to use PHP and it is quite easy to use. The next thing that I want to do is to put our project in the Internet, so I searched some free web-hosting website and we found the host that we use for our project now, www.ueuo.com, it is free and only have a small number of advertisement. The process of doing this project is sometimes very stressful and not always runs smoothly, but we able to keep our commitment and focus to finish this project. My main part in this project is to do the programming part of the system. It is very challenging to learn the programming language by myself, but luckily we have learn about javascript, html, css, and sql in our diploma, so I just need to focus in studying the PHP. There are some hard times when I just run out of ideas to make some of the system’s process but luckily David is a very good friend to discuss with. He give me many input and inspiration about the programming concept of the system so I able to figure out how to do all the system’s function. The color theme of the website is another thing, I was not so good about color taste but David also help me to choose the light blue color that amazingly looks nice for our website. In conclusion, we have learned many things by the time we finish this two-term project. We have learn that team work is not always runs smooth, human management, commitment, and time management is some very important skill that we need to have in order to survive a long run team project like this. For myself, I have a completely new experience by learning a new programming language by self-study. Finally, I want to say that I will never forget my experience in doing this project, my team, and all the pressure and satisfaction feeling that I get during the project.

175

5. Program Listing (Source Code) Customer.php <?php session_start(); if ($_SESSION[status]!="customer") { header("location:login.php"); } else { ?> <html> <head> <LINK rel="stylesheet" type="text/css" href="config/eowebstyle.css"> <title>Clover Company Site</title> </head> <body background="images/elements1.jpg"> <?php include "config/connection.php"; ?> <div align="center" id="general"> <table width="800" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"> <tr> <?php include "header.php"; ?> <tr> <td width="200" valign="top"> <?php include "left_pane.php"; ?> </td> <td width="600" valign="top"> <table width="600" border="0" cellspacing="10" cellpadding="0"> <?php if($_GET[info] == "success") { echo" <tr> <td colspan='2' align='center'><font color='green'><b><u></u>Payment process success, please wait maximum of 2 working days for payment status update.</b></font></td> </tr> "; } elseif($_GET[info] == "dateexist") { echo" <tr> <td colspan='2' align='center'><font color='red'><b>Order fail, date already booked</b></font></td>

176

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

177

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

align="center" class="module"

align="center" class="module"

align="center" class="module"

178

width="90" height="20" class="modul"><a href="customer_guide.php">User guide</a></td>

<td style="color:white"

align="center" class="module"

</tr> </table> </td> </tr> <tr> <td colspan="2" align="center"> <table> <tr> <td width="50" height="20" class="modul"><a style="color:white" 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 } ?>

align="center" class="module"

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

179

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

180

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

181

</tr> <tr> <td>Password</td> <td>:</td> <td><input name="password" type="password" value=<?php echo"$userdata[password]"; ?>></td> </tr> <tr> <td>Confirm Password</td> <td>:</td> <td><input name="password_c" type="password" value=<?php echo"$userdata[password]"; ?>></td> </tr> <tr> <td colspan="3" align="center"> <br><br> <input name="submit" type="submit" value="save changes" onclick="return checkRegister2()">&nbsp;<input name="back" type="button" value="back" OnClick="javascript:history.go(-1)"> </td> </tr> </table> </form> </td> </tr> <tr> <?php include "footer.php"; ?> </tr> </table> </div> </body> </html> <?php } ?> Cust_prof_process.php <?php session_start(); if ($_SESSION[status]!="customer") { header("location:login.php?mode=customer"); } else { if($_POST[gender]=="" || $_POST[date]=="" || $_POST[e_mail]==""|| $_POST[ic_passport]=="" || $_POST[phone]=="" || $_POST[password]=="") {

182

header("location:profile_cust.php?stat=empty"); } else { include "config/connection.php"; $sql = mysql_query("SELECT * FROM `customer` WHERE `name` = '$_SESSION[username]'"); $data = mysql_fetch_array ($sql); $sql2 = mysql_query("UPDATE `eodb`.`customer` SET `gender` = '$_POST[gender]', `date_of_birth` = '$_POST[date]', `e_mail` = '$_POST[e_mail]', `ic_passport` = '$_POST[ic_passport]', `phone` = '$_POST[phone]', `password` = '$_POST[password]' WHERE `customer`.`customer_id` = '$data[customer_id]' "); header("location:customer.php?info=profilesuccess"); } } ?> Order_detail_cust.php <?php session_start(); if ($_SESSION[status]!="customer") { header("location:login.php"); } else { ?> <html> <head> <LINK rel="stylesheet" type="text/css" href="config/eowebstyle.css"> <title>Clover Company Site</title> </head> <body background="images/elements1.jpg"> <?php include "config/connection.php";?> <div align="center" id="general">

183

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

184

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

185

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

186

</tr> <tr> <td colspan="3"><b>Additional Note From Customer</b></td> </tr> <tr> <td colspan="3"><?php echo"$order[additional_info]";?><br><br></td> </tr> <tr> <td colspan="3" align="center"> <a href="javascript:window.print();">Print</a> 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 } ?>

-

<a

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

187

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

188

<?php } ?> Admin.php <?php session_start(); if ($_SESSION[status]!="admin") { header("location:login.php?mode=admin"); } else { ?> <html> <head> <LINK rel="stylesheet" type="text/css" href="config/eowebstyle.css"> <title>Clover Company Site</title> </head> <body background="images/elements1.jpg"> <?php include "config/connection.php"; ?> <div align="center" id="general"> <table width="800" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"> <tr> <?php include "header.php"; ?> <tr> <td width="200" valign="top"> <?php include "left_pane.php"; ?> </td> <td width="600" valign="top"> <table width="600" border="0" cellspacing="0" cellpadding="0"> <tr> <td colspan="2"> Welcome <?php echo "<b>$_SESSION[username],</b>"; ?> <br>This is your <b><font color="blue">Administrator Page</font></b>, <br>you can click on the modules below to do the corresponding function: </td> </tr> <tr> <td align="center"> <table border="0" cellspacing="0" cellpadding="15"> <tr> <td>

189

<table> <tr> width="90" height="20" class="modul"><a href="report_generator_ad.php">Reports</a></td> <td style="color:white" align="center" class="module"

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

align="center" class="module"

align="center" class="module"

align="center" class="module"

190

</table> </td> <td> <table> <tr> width="90" height="34" class="modul"><a href="admin_guide.php">User Guide</a></td> <td style="color:white" align="center" class="module"

</tr> </table> </td> </tr> <tr> <td colspan="2" align="center"> <table> <tr> <td width="50" height="20" class="modul"><a style="color:white" 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"); }

align="center" class="module"

191

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

192

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

==

193

<br> <table cellpadding='0'>

width='600' <tr>

border='1'

cellspacing='0'

<th bgcolor='yellow'>Order id</th> <th bgcolor='yellow'>Event package</th> <th date</th> <th bgcolor='yellow'>Time</th> <th bgcolor='yellow'>Payment mode</th> <th 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 " bgcolor='yellow'>Payment bgcolor='yellow'>Event

194

<tr> <td 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> colspan='3'

195

<table cellpadding='0'>

width='600' <tr>

border='1'

cellspacing='0'

<th bgcolor='yellow'>Order id</th> <th bgcolor='yellow'>Event package</th> <th date</th> <th bgcolor='yellow'>Time</th> <th bgcolor='yellow'>Payment mode</th> <th 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> bgcolor='yellow'>Payment bgcolor='yellow'>Event

196

<td align='center'>$vendor_data[name]</td>

colspan='3'

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

197

<table cellpadding='0'>

width='600' <tr>

border='1'

cellspacing='0'

<th bgcolor='yellow'>Order id</th> <th bgcolor='yellow'>Event package</th> <th date</th> <th bgcolor='yellow'>Time</th> <th bgcolor='yellow'>Payment mode</th> <th 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> bgcolor='yellow'>Payment bgcolor='yellow'>Event

198

<td align='center'>$vendor_data[name]</td>

colspan='3'

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

199

"; $sql = mysql_query("SELECT `event`.`event`, Count(*) AS Frequency FROM `order` WHERE `event`.`event` = `order`.`event` GROUP `event`.`event` ORDER 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> BY BY `event`,

200

<td> <br> <table width='600' border='1' cellspacing='0' cellpadding='0'> <tr> <th align='center'>Id</th> <th align='center'>Name</th> <th align='center'>Service</th> <th 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'> bgcolor='#91b9fc' bgcolor='#91b9fc' bgcolor='#91b9fc' bgcolor='#91b9fc'

201

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

202

</tr> <tr> <th align='center'>Order_id</th> <th align='center'>Date</th> <th align='center'>Event</th> <th align='center'>Event date</th> <th align='center'>Time</th> <th align='center'>Pay mode</th> <th 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> bgcolor='#91b9fc' bgcolor='#91b9fc' bgcolor='#91b9fc' bgcolor='#91b9fc' bgcolor='#91b9fc' bgcolor='#91b9fc' bgcolor='#91b9fc'

203

<td colspan='5'>Total no. of order</td> <td colspan='2'>$data3[Total]</td> </tr> </table> "; } echo" </td> </tr> <tr>

align='center' align='center'

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

204

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

205

<table width='600' border='1' cellspacing='0' cellpadding='0'> <tr> <th align='center'>Id</th> <th align='center'>Order id</th> <th align='center'>Date</th> <th align='center'>Amount</th> <th 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> bgcolor='#91b9fc' bgcolor='#91b9fc' bgcolor='#91b9fc' bgcolor='#91b9fc' bgcolor='#91b9fc'

206

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

207

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

208

<th align='center'>Price</th> <th align='center'>Payable</th> </tr> "; $total = 0; $sql = mysql_query("SELECT *

bgcolor='#91b9fc' bgcolor='#91b9fc'

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

209

<tr> <td bgcolor='#91b9fc' align='center' colspan='5'>Total</td> <td bgcolor='#91b9fc' align='center' colspan='2'>SGD $total</td> </tr> </table> </td> </tr> <tr> <td align='center'> <br><br><a href='javascript:window.print()'>Print This Report</a> <a href='report_generator_ad.php?module=select'>Back</a> </td> </tr> "; } ?> </table> </td> </tr> <tr> <?php include "footer.php"; ?> </tr> </table> </div> </body> </html> <?php } ?> Edit_order_process_ad.php <?php session_start(); if ($_SESSION[status]!="admin") { header("location:login.php?mode=admin"); } else { include "config/connection.php"; $esql = mysql_query ("SELECT * FROM `order` WHERE `order_id` = '$_POST[id]'");

210

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

=

211

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

=

$title = "Order change for $_POST[date]"; $from = "From: webmaster@davidkeiththomas.freevar.com\n"; $from .= "Content-type: text/html \r\n"; $message = "There is a change in order detail or You got an order for $_POST[date] please confirm your availability: <br>"; $message .= "<a href='http://localhost/eowebsite/login.php?mode=affiliate'>http://localhost/eowebsite/logi n.php?mode=affiliate</a>"; if($_POST[venue] != "") { $check_aff = mysql_query("SELECT `schedule_distribution`.`affiliate_id`, `affiliate`.`name`, `affiliate`.`e_mail` FROM `schedule_distribution`,`affiliate` WHERE `schedule_distribution`.`affiliate_id` = `affiliate`.`affiliate_id` AND `schedule_distribution`.`order_id` = '$_POST[id]' AND `affiliate`.`service` = 'venue' "); $affiliate_ori = mysql_fetch_array($check_aff); if($affiliate_ori[name] == $_POST[venue]) { $to = $affiliate_ori[e_mail]; mail ($to,$title,$message,$from); } else { $delete = mysql_query("DELETE FROM `schedule_distribution` WHERE `schedule_distribution`.`order_id` = '$_POST[id]' AND `schedule_distribution`.`affiliate_id` = '$affiliate_ori[affiliate_id]' LIMIT 1 "); $venue_vendor = mysql_query("SELECT * FROM `affiliate` WHERE `name` = '$_POST[venue]'");

212

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

213

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

214

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

215

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

216

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.