We are in need of a PHP-Based money transfer system. This system will be running on a closed network; however, security is still extremely important.
Requirements:
- AdoDB (using MySQL, but may be upgraded later). All queries which can reasonably be cached should be.
- Function-Based design, for easy expansion and integration. Functions should be externally callable, and well documented. For example, to add a transacation to an account, there should be a function along the lines of Transaction (to account, from account, user, description, amount).
- Functions for common user operations, such as account creation, transaction reversal, account closing (not deleted, just flagged inactive), account re-opening.
- Functionality to dump the transaction history past a certain date to disk, and erase from the DB for backup purposes.
- **NO GRAPHICS OR UI DESIGN IS NECESSARY, THAT WILL ALL BE HANDLED IN HOUSE**. Pages should be set up to show the functionality sufficiently for us to test the system. They need not look "pretty", they just need to work.
- **NO AUTHENTICATION OR LOGIN WORK IS NECESSARY**. Although all transactions need to be logged, and use 10-digit account numbers, all login issues will be handled seperatly, by us. The software just needs to make basic checks, such as ensuring both account numbers in a transaction are valid.
Basically, The software has do do is handle the transfers of money from one 10-digit account number to another 10-digit account number, as well as the deposit of money into the main account (which should allow text input, as the money is not coming in from another account on the system). Functions should be easy to call externally. They should not assume that the software is running in a web server environment, as functions may end called from command line applications.
## Deliverables
The ready-to-run PHP scripts, under a modified BSD license, with AdoDB (under the LGPL).
**That's right - I don't demand complete ownership of the code, a modified BSD license is sufficient. You can keep the code, and use it for other purposes and other jobs.
**Database schemas must also be included.
## Platform
PHP / MySQL (will be running it on Linux, but it should not matter).