The application will be based around a modular software construction, to make maintenance simple.
Broadly speaking, a fully customisable template based clone of the site [url removed, login to view] is required with some extensive modifications to the mostly static site, turning it into a generic web application, based around the following core technologies:
MySQL [url removed, login to view]
Similar to Mambo/Joomla, there needs to be an administrator interface that allows multiple administrators to be created with varying degrees of access/administrative scope.
The site must be designed around the concept of the project – an object where a specification is drawn up by a client, submitted to a group of contractors who then bid by returning quotes through the system. The client then logs in to the project and examines the bids and the contractor metrics. The client then chooses a contractor through the system.
The same type of front end user interface as [url removed, login to view] is required, allowing the client to drill down to the geographic area they are interested in, selecting contractors who have subscribed to that area.
A CMS based module system would seem appropriate for the site model.
Layout of content blocks, graphic images, flash, image-maps need to be fully administrator customisable.
A sign-in and registration module is required for Administrators, clients and contractors to sign in to the appropriate areas.
Secure-site login of administrators, clients and contractors is required. A secure site logo should display in the browser, just as with bank websites etc.
A faq module with full text search should be integrated into the site.
A search module for searching for contractors or projects or geographic locations must be available to the templating engine for use on any page.
A generic top 10 module for presenting information from the database, must be available for the templating engine.
This will hold details of the project [metrics + client and contractor]
Holds contractor details plus links to ratings
Holds client detail from their project submission form
Holds the ratings for each client project, indexed against contractor. This will leverage feedback from clients to produce ratings for each contractor, calculated on submission of each feedback for each contractor, using an admin defined weighting system.
Holds the client feedback form submissions. Client feedback should be generated after they terminate their project.
The payment module is the heart of the billing system. It must allow for subscription and one off payments, with various rates per service/product according to customisable criteria. A payment gateway is necessary along with an administrator control panel. It should come pre-configured to work with Paypal “out of the box”.
The SMS gateway allows for the creation and transmission/reception of information via text/mms. This should have a facility to only allow use if the account is current and the contractor account meets customisable access level and status criteria.
All code for the template should be debugged for vulnerabilities and exploits. Anti-phisihing and anti-spam technologies should be used to help protect sites based on the template. Email harvesting protection and denial of service protection should be present as a minimum.