I need assistance designing and coding a database-driven web site with web 2.0 look and feel. This contract includes all coding and design elements for the site. I will provide a datamodel listing the required data for each table. Server side coding must be in php and underlying database is mysql.
The site should allow users to create lists of calendar-type itineraries which may be viewed by and downloaded by other users. For this to happen, the site must allow users to create generic activities from which users will create itineraries. Itineraries are ordered lists of activities.
Each activity will have a title, subtitle, default image and thumbprint, an array of images/movies, a classification (one of a list of activity classifications), an address (including phone, email and web info if available) and a description. When displayed in a list, the following data should be visible: the Title, subtitle, default thumbprint, the number of ratings and their average. When selected the item should expand into a detail view displaying all of the data for that item. The same approach should be used when displaying lists of itineraries.
Users browsing the site should be able to search itineraries or activities (as the case may be) based on location (at a minimum, city, state and country or country and postal code). By default, searches should return itineraries based either on the users most recent location or, in the case of new visitors, based on a location driven by the users IP.
In addition to creating new activities and itineraries, users should be able to rate and comment on existing itineraries and activities. No login should be required to rate or comment unless the user wants to upload images or movies with their comment in which case a login is required.
Finally, users should be able to create new itineraries based on exiting ones. This functionality should allow users to add or delete activities in an itinerary (note that the activity continues to exist but is no longer associated with the new list) including new activities. Users should also be able to change the order of activities - ideally by dragging them around.
While users need not be logged in to browse the lists of itineraries or activities, users must register and log in to add new items. The site should offer to remember user names and have standard registration & password recovery functionality.
Finally, the site should tastefully include location and/or activity specific banner and test ads served by Google.
I will provide a full specification upon awarding the contract.