I need a web based software application built, which has a component that will run on a desktop or laptop.
I already have detailed specifications which will only be released to the chosen developer for their feedback, discussion and use, after appropriate confidentiality agreements have been signed - to protect our Intellectual Property.
Website pages must be built using our existing site builder and therefore any web page functionality and content must be included into or built with the site builder’s content editor. The editor easily allows include files to be run from any web page, so standard web languages like PHP, HTML, java and Ajax can simply be built externally in .inc or .php files and then just easily included on the appropriate page and called from a button or link etc. Text and image content etc. should be input directly with the word-like content editor. We want the site owner to be able to edit all visible web page content without having to go back to the developer (within reason). Once the project starts I would like a quick exercise done (with my assistance) to ensure that the developer understands how to do this and can work with the site builder (which is simple and intuitive and also has online user manuals).
The server side must include appropriate security functionality & basic reporting to ensure full control of all registrations, also minimise the risk of having the application hacked or copied etc.
High level scope:-
A) Server side (linux, MySql):-
1. Build a program that is called from an existing webpage and allows a remote user to maintain (add/delete) a list of multi-media files; a number of these lists will be managed in the MySql database, each linked to a registered person uniquelly identified by their email address.
2. Create forms that will be included in a different webpage to allow people to register, and do some basic validation on a few fields. People must be able to come back later and edit their details (except for email); this must use as much of the initial registration code as possible for ease of future maintenance.
3. Develop additional functionality to allow each registered person to be 'linked' to a number of other people; the link will contain a unique code that the system should generate.
4. Develope code that will initiate a standard windows installation from the server. The installation must be able to download a windows XP/vista application, the database list (in XML, whatever) and associated mutlimedia files and do a standard windows installation of the PC side application & data.
This must include standard 'uninstall' functionality so that users can cleanly remove all aspects of the installation from their PC/laptop.
5. Have appropriate admin pages for the site owner to maintain parameters etc.
5a. Develope a windows (XP/Vista/2000) application that will allow a user to maitain the list of multi-media files on their PC (add/delete); changes (list plus multimedia file changes - can use flags for delete etc.) must be automatically uploaded to the server when the user is inactive (for example when the screen saver kicks in); this app. therefore is an equivalent and alternative way of maintaining the multimedia list as described in point 1.
5b. A process must therefore exist on the server to detect these uploads and accept the changes & update the server database without compromising server security.
6. The second part of the windows application will run on the PC and use the multi-media files in a simple way that I cannot explain in an open forum. Assume you need to interact with some standard windows components and access the multi-media files from their database in a simple way, to be displayed similar to a power point presentation.
So I need people who have experience in writing client/server applications for XP/Vista on the PC side, Unix/linux and MySql on the server side. I am not fussy what you develop in, but this must be made clear in your bid.
Please provide an estimate for each component described and don't worry about questions yet; first I must choose a developer/team and then we can get into confirming the specs together.