We have an 8-table database with a approximately 70 fields in total -- very small. As part of a large project it requires 25 "web methods" to communicate with it.
The chosen developer will code the web methods based on an example PHP framework provided. Almost all queries will be HTTP GETs and almost all responses from the server will be JSON.
We will require the coder to provide all validation rules, ensure all data submitted to the database is properly and securely escaped to prevent injections. Each method has only a handful of business/validation rules, all of which will be provided.
The service will be consumed by a JSON web application.
We also require the coder to product an AJAX-based HTML page that executes unit tests against every web method and tests every business rule, including edge and error cases. We will provide an example script from another project. We believe this will be the bulk of the work.
The PHP code will also send out a 'reset password' email using already-written SMTP code, which we will of course provide.
We will, of course, also provide the database schema.
Once the final project has been submitted to us, we will spend 2-5 days performing QA, including running and checking the unit tests.
This project contains sensitive material so we will only reveal the details to the chosen coder.
A good result is likely (but not guaranteed) to result in a bonus and future work.
## Deliverables
Includes the following:
1. Recaptcha integration (a test account of your own is fine)
2. Password reset email sending. We will provide php smtp code.
3. Follow our structure for the web methods (a trimmed-down example project will be provided).
4. Follow our structure for the unit test AJAX script. (an example will be provided)
5. Query and populate the database as necessary. SQL queries must be assembled on-the-fly by the PHP (Securely) and executed as needed.
6. Return the correct error condition when erronous query data is provided or security is violated.
7. Cover every business rule for each web method (rules will be provided) and further explanations given if needed.
8. At least two web methods will be file uploads, so the coder must be familiar with this technique.
9. Integrate the one payment web method with [login to view URL]'s sandbox server. We will provide the php code.
* * *This broadcast message was sent to all bidders on Friday Jan 29, 2010 10:06:34 AM:
Small update: there are in fact 27 web methods. When bidding please be sure to include the time, and some reason why I should choose you over the other bidders. Please post a message stating "I agree to delivering 27 methods" as this is a slight increase in scope, adjusting your bid if you feel it is necessary. Thank you.