Backend/database developer with PHP MySQL Joomla skills

  • Posted
  • Proposals 4
  • Remote
  • #32920
  • Archived
Andy P.3E S.James R.Tony S. have already sent a proposal.
  • 1

Description

Experience Level: Intermediate
'Order Form' Joomla! Component Tender

Requirements

• Joomla!
• PHP
• MySQL
• JavaScript
• cookies/sessions

Brief

We (Appear First) require a custom Joomla component to be built that will allow new customers to fill in an order form (select from multiple options) and order a rented website from Appear First. Although JavaScript will be required for much of the added functionality and usability, the component must also work without JavaScript. Each new order will be built upon a base option that is required for every website. The entire component must be Valid XHTML 1.0 Strict.

Specification

1) Display an order form with multiple selectable options (as HTML checkboxes), each option having a set-up/one off fee AND a monthly fee associated with it.

2) Options must be categorised and displayed under each category as a subheading where the user can select the entire category with a checkbox that will dynamically select the all of the options/checkboxes in that category.

3) Each time an option is selected the total payable (both one-off and monthly cost) will be updated at the top and bottom of the page AS WELL AS in a 'shopping basket' type module in the website's right-hand column.

4) Some options will require other options to be selected (Parent - Child relationship) and child options should be greyed out and un-selctable until its parent option is selected.

5) Some options will be included within other options but ALSO selectable on their own. If an option that includes another is selected then the option that is included will be dynamically zero-valued, automatically selected and greyed out.

6) As options are selected, the option will be dynamically styled in some way (e.g. background colour change) to indicate that it has been selected.

7) To keep the order form as short as possible, each option will be a one line 'title' but a brief description will also be available for each option through the use of a JavaScript slider if the user clicks to view it.

8) Most likely the best way to maintain user state will be through the use of Joomla! sessions/cookies - there must be a clear session or 'Clear and Start Over' facility.

9) At the top of the page the user must be informed that they are on page X of Y of the ordering process. Stages should be:
1. Select Options
2. Enter Personal Details & Billing Information
3. Payment (External website)
1. Callback from payment gateway
4. Return page - informing customer of status of order

10) The shopping basket must 'float' (always be visible as the user scrolls the page) if they are using a JavaScript enabled user-agent.

11) The shopping basket must also contain a “Continue” button to the next stage of the ordering process, as well as a breakdown of what options they've selected and an indication of any options that were selected which included other options (show in the style of a discount).

12) Once the order form has been filled in, the user will click to the next page (Joomla! 'view') where they will be asked to enter their company details (i.e. name, company, address, phone, email etc..).

13) The component will then post the billing details off to PayPal (or another payment gateway, possible VoicePay) where the user will enter their payment details. Upon a payment being successfully processed the callback from the payment gateway must indicate the new status in the back-end of the component as well and trigger an email to the user's email address.

14) Parameters/settings within the system will include: VAT rate (with the option of no VAT), currency (future use) and coupon codes (future use).

We look forward to hearing from you.

Many Thanks

Andy & Peter

Clarification Board

    There are no clarification messages.