Thursday, August 5, 2010

Tool Package

While my framework is mostly done/functional (not particularly pretty), I've been working on two things for the project. First I've been looking to get like 2-3 people to use the setup in various facets (as a user, anonymous donor, admin) and give feedback about what additional functionality they would like to see so as to help real people in those roles. Also, while I've been working on that I've been developing some stand alone (external programs) that would make of the basis of a toolbox for admins. These could also be incorporated and rewritten from C++ to PHP to make them accessible from the website, but I'm hesitant to do that for security reasons (being able to change a users password from the website in a PHPMyAdmin sort of way would leave susceptibility to anonymous takeover; overwritting all passwords in the users table including root). When they are external their function is limited to what databases' user table is allowed to be edited, but I may find a PHP way to do this safely in the future.

Saturday, July 17, 2010

Modularity and Functionality

So with my presentation last Wednesday I demonstrated a fully functional donation system, but I noted its glaring drawback (being 1-to-1, 1 file of php for 1 webpage). My proposal to open up the system was to put the logical pieces of the php code into separate files and include those files into webpages where appropriate. With this set up it would then be easy to write equivalent code blocks (with different functionality for improvement) then replace the includes of the old code blocks with the new. This functionality will allow 'plug-and-play' of new code blocks by simply changing the includes. Other than this change, the code is ready for some greater extensive testing (focusing on the database overlap prevention).

Tuesday, June 29, 2010

Updates

Hi All, just want to keep people up to date on my goings on with the project. First off I've commited to an update of the project last week (index.php is blank, because my root password was in it to access MySQL for testing). This commit contains the source to initialize the DB with whatever tables the user may desire and supports multiple table files per heading. My other endeavor has been to get PHPMyAdmin working with my test server, which wasn't terribly easy, but with it done my backend management of the DB is taken care of (Administrators of the DB would use PHPMyAdmin instead of a specially crafted admin toolbar). My reasoning for doing this is simply that PHPMyAdmin contains every tool already and is widely support or already installed on a lot of servers.

Friday, June 18, 2010

First Presentation Today

I would like to summarize some key points from today's presentation, and also note I've uploaded the DB init code to google code. First off, I've changed the original ruby code to either PHP or MySQL directly. I made the decision to change to PHP based upon my already existing knowledge of php and the simplicity the user sees by not needing anything more than what normally comes with a webserver (previously one needed to install Adobe Flex and a Ruby Intrepreter to run the application, which had to be linked into eachother's configs). This migration is mostly complete as I speak since Ruby and php match up nearly line for line so there was only the matter of syntax. Right now I have a working framework that can add to the DB and then query the DB, the next step is making the submissions "safe" (making sure everything has information in it and that one user only has one profile etc.). But in any case the project is going quite smoothly.

Thursday, June 3, 2010

Project Continuation

Hi,

This project I'm working on is a continuation of the Cankids Donor Database; built for an Indian NGO dealing with young cancer patients. The former database used a webbased Ruby and Flex combination to handle a central donor tracking database. The Schedule for this project is as follows:

Week 1 - 2 Familarize myself with the source code and implement simple features (password changing and account status updating)
Week 3 Roll out a dynamic backup and dump system to preserve data across builds
Week 4 Attempt to link online payment services through the interface (using paypal within your donor account)
Week 5 Continue week 4 goal while performing extensive bug checking
Week 6 release a Beta-version for trial by others, getting feedback on features desired or to be corrected
Week 7 Update project to accomdate feedback from testing
Week 8 Minimize memory footprint and enable smoother cross-platform use
Week 9 Build an installer for the application (right now you need ruby, flex, and MySQL intrpreters), the goal being to encompass all tools needed into one
Week 10 release a final version for use by the public, receiving extensive feedback
Week 11 - 12 Accomodate feedback and perform polishing, creating hopefully a finished product for general use.