I've tried to make the specs as detailed as possible for you to to make it easy to do the job.
If you have any questions when you've read the specs, please let me know. As far as look and feel of the application is concerned I'd like it to look very modern, clean and simple.
Specifications for new application
The application I want is a desktop application that has the following major functions:
1) Importing data from the web in XML format. This will be a fixed location and the file will be updated only every 24 hours. If the imported file is older than 24 hours the user should be shown an alert message when they first launch the application. The alert will ask them if they want to update the data file.
The user should also be able to download a new copy of the file whenever they want, from a menu option.
2) Importing 'templates' from a zip file on their local computer. If necessary we can get the users to unzip the files themselves, but I prefer the application to be able to do so directly.
The templates need to be stored in some kind of database (maybe a simple folder structure?). When importing new templates the various files in each package should be copied to a new folder within the folder structure mentioned above.
3) Selection of product information. The product information has been imported from the XML file mentioned earlier. Users need to be able to specify certain criteria to show just the type of product they're interested in. Assume there will be say 6 criteria. The actual number may go slightly higher.
The user will also be able to specify keywords that should appear in the title, or description of the product.
4) Once the criteria have been chosen and a search performed, the application should show a grid of matching products. If possible, I'd like the screen with the criteria and the screen with the results grid to be on one page so users can change criteria at any time, click refresh and see the new results on the same page.
Each product listed should be selectable. I prefer the user to be able to click anywhere on the product row and the product row to change color to show it has been selected. If they click on the same row again it de-selects it and returns the color to normal.
5) After making selections, users will choose from the templates (layout files). This should probably be a grid again with a template name, description and a field for the niche. I would like a thumbnail image to show in the grid against each template. Within each template folder will be an images folder with various images for the template. There will also be an image called [url removed, login to view] which is the image to show in the grid.
Only 1 template can be chosen at any one time.
6) After a template is chosen the user will be able to generate a website and store all the output files in a directory, which they will choose. When you ask them to choose a directory name, if they choose one that doesn't exist ask them if they want it created?
After processing, the files in the template folder will be copied over to the new directory. The index page (look for a file index.* there will be only 1 in each directory and process that.) will be processed to substitute a special placeholder with the actual text generated by parsing the product selections chosen in part 4. Once processed that page will be copied to the output folder. The index file can be .html or .php. That's up to the user.
The placeholder text that you will replace will be something like [AffProductContentHere]
I'll give you exact wording later.
The actual output will be straightforward html. It will be a <div>containing as many tables as there are products chosen. I'll provide some layout code later. You'll read the product name, description, hyperlink and so on from the product information database downloaded in step 1.
There may be optional rows within each table that get output depending on the criteria chosen.
At the end of output the user should be offered the chance the view the page created. If they say yes, launch their default browser with a link to the index.* page in the output folder.
After that they are asked if they would like to start over and make a new site. If they say yes, ask them if they want to retain the current settings. If they say no, get them to confirm before you actually wipe the app. settings.
There should also be a help menu which gives them links to online tutorials how to use it. I'll create the tutorials. Leave the urls and links blank for now - I'll decide on those if we go ahead.
If you can give me an indication of timescale and price I'll let you know whether I want you to go ahead.
Payment will be via escrow service.
The winning bidder is likely to show their understanding of this project by asking pertinent questions before the project is awarded. I want to know that some thought has gone into this. I will require a some kind of working prototype to go ahead. It doesn't have to do the outputting, but it should be able to read the XML file and show the data grid with the product information as described.
Anyone shortlisted for the project will receive details of the xml download location.
I'll expect this application to work in XP and Vista.
There is one additional feature I would like quoted for as a separate element. I would like an information bar on the main screen. On the information bar will be a picture downloaded from a specific location. The image will be hyperlinked to a url provided in a text file held at a specific url. I would like to be able to offer end users of the product to 'rebrand' this information bar with their own urls. If you need more information about that just ask.
At the conclusion of the project, following release of funds from escrow, the ownership and copyright in the application will pass to me, along with all materials and files relating to the project.