Hockey wrote:Oh...haha...well then...ummm sorry to say...but I could have it done in a few days...two tables:
1. clients
2. resources
Two access levels:
1. Admin
2. Client
Really not that difficult, definetely not a 4k job...and thats in Canadian dollars. ;)
Perhaps you are correct. Perhaps I read this too fast. However, also be mindful that there are other concerns here:
* login, logout, and session management
* SQL injection prevention, XSS prevention, other security enhancements
* pagination of any results, if necessary
* keyword search or browse categories of results, if necessary
* special SQL tricks to optimize the keyword search so that it runs the fastest that it can
* admin pages, which usually involves building a system with default CRUD and then customizing it with extra fields and logic
* jQuery integration for popdown calendar, fancier tables, AJAX (if necessary for more dynamic pages), treeview control for choosing categories (if necessary)
* reports in PDF or XLS form, if necessary
* protections to keep clients from seeing each other's stuff
* session timeout management, such as capture, request relogin, and redirect back where they were
* protections if user bookmarks anything but the homepage
* protections if user goes deep into the app without first hitting the login page and authenticating
* usually my admin pages now use jQuery, jQuery Forms, and AJAX because they need to be zippy fast over the Internet over https (self-signed) -- this reduces the need for entire page refreshes since admins will often do a lot of clicking in their admin interfaces. The only other option for reduce page redraws is IFRAMEs and FRAMEs, and the jQuery, jQuery Forms, and AJAX approach simply looks better and isn't that much harder to pull off. (People also hate frames, anyway.)
* programmer documentation for future programmers
* a framework such as MVC or other means
* a templating system such as PHP Alternative Syntax, Smarty, or other means
* cron jobs such as for code and database backups
* Subversion source control integration
* Consistent variable naming convention
* Reusable object classes
The above is the kind of quality approach you would get from a professional PHP freelancer who is serious about his business.