Saturday, October 24, 2009

Oct. 24th Thinking about changing database structure and adding in new library

Current database structure is not very convenient for storing payment data from PayPal.
So that i think it should be added in a processed column to indicate if that payment is successfully processed.
And also want to be able to have admin control, an admin column is needed to add into user table too.

---
I found a paypal library which helps to receive the signal from PayPal.
http://www.rubyinside.com/paypal-libraries-for-ruby-and-rails-116.html
I will try to add it in and test it by PayPal Sandbox.

Wednesday, August 5, 2009

Aug. 6th 2009 Summer Final update

I just uploaded the code to Google Code.
It's the final update in this summer and I finalized what I have done so far.
It's a stable version with all features except for user password changing(not done yet).

Thursday, July 30, 2009

July 30th Summary for this Summer

Everything is done except for the account setting part(changing password or email).
Validation on flex part is done and doing the rails part.
I changed the profile setting box from using different states to using pop up box inside flex. But it won't make any significant difference. It helps to promote users to update profile right after they register. And for sure, it looks nicer than switching between states.

So, TO DO for next step is:

1. implement Paypal more. Although now can know passing data to paypal, but it can't get anything back.

2. account setting part.

3. security issues.

4. connection between patient db

----

Now I have to worry about is those security issues. Since I haven't done that many testing yet, I guess it has a lot of bug inside.
Anyway, I will start testing in August.

Friday, July 17, 2009

July 17th Little discovery for Using paypal & Photo!

I found someone using paypal button on their web by flex.
The way they use it is very different than I expect. They translated the whole html code into Mxml which is kinda buggy. Because it's hard to pass the encrypted field to paypal engine by flex.
And also, there's a huge problem from this. When the user click the donate button, it would pop-up a window from paypal for the donation. And if the donor close the donor system page or refresh it, it will lose the connection with paypal.
And the most important thing is when to insert the donatio into DB (before paypal or after or in the same time) is very hard to decide.

The user info setting stuffs will be done in next week. And I will start looking at validation and security. I decide to use different States in the mainBox page instead of view Stack. Because since they are going to share the same user and session number. I should just put them in different States. View stack is also doable but much more action script will be needed, that will be nasty.


Here's the example to use paypal button in flex.

http://blog.flexcommunity.net/?p=26

And photo for RCOS summer 2009

Wednesday, July 15, 2009

July 15th Great Example to use Paypal API

http://www.jsintl.org/directdonation.html

I just found a great example for using the Paypal button for donation.
It's on JumpStart International which founded by Sean O'Sullivan '85.

The next step is going to make this on my application also.
And also figure out the user info implementation.

I already did clear the relations between different stacks of view in Flex. And also made those action scripts look much better organized. And the menu bar actually help a lot with redirecting the view stacks.

Friday, July 10, 2009

July 11th Pause the project

Since the code gets much more complicated than last week, I want to freeze the project for this weekend. To make a summary about what I have done and how I accomplished that.
So many MetaEvents in Flex is really annoying, too many functions to redirect the flash, and also the cookies and http Request gotta be fixed ASAP.

I just added a calendar field into the Tab navigator in the user homepage. And I decided to add in a graph of the donation verse the date also to make the user homepage not that boring.
What I want the calendar field to do is to enable user to select a date and it will display the donation summary below the field of the selected date. But I have a problem with filter the XML data now.

And then. the most important component to add it should be User info CRUD functions. However, user info is sort of different from the donations in RoR. I worry a little bit with the metaevent with it because it has to redirect the viewStack to switch among multiple components. Http Request error with the user info would show up in expection.

Final thing to do is add the payment method into the donation creation ( credit card info stuffs )
Need to modify the tables' columns also.

I Hope all these will be done before July 20th.

July 10th Mid-progress Presentation slides

Mid-progress Report Presentation Slides:






Mid Progress Report

Tuesday, July 7, 2009

July 7th Http Error from IE testing



This is the image about failure of Http request in IE.
I didn't find this until Manjula tested it on IE.
The donations list will not refresh itself automatically after a new donation is created.
But this won't happened in Firefox.
So that I guess this is only the problem with browser itself but not from the program.
Initially, I want to solve it by create a function to refresh the list when the donate button is clicked. But the list box and the new donation box is not in the same file. Flex doesn't let me to call the function outside of the file.
And since I haven't find any way to solve this nicely so that I hardcode a button to refresh the list.

Now the project is successfully running on a testing server by Mongrel plugin in rails.

http://alibaba2240.no-ip.org:3001/bin/cankidsdonordbonflex

Thursday, June 25, 2009

June 25th Flex GUI framework brainstorm

The GUI interface is almost up.

Here are some pages of it.
Built by Flex3 and it's pretty nice looking, very easy theme management.



Login Window:



Registration:



User Homepage:

Thursday, June 18, 2009

June 18th Brief Summary for these days

Up to now, everything goes fine. I already finished the connections between donations and the donor account.

After the user logged in, there's a 'make a donation' link in the user homepage which will enable the donor to make a donation.

And also, I fixed the register problem by Matt's suggestion.( after a user register, it cannot go back to user homepage because the donor create after the account create, so it can't capture the donor_id). I redirect the page back to login page to let the user login again right after they finish registration which might slightly trouble the user.

----------------------

And below are things need to do in next week,

1. make the new donation page has more functions. such as: ways to donate, billing address, personal info from donor table, and bunch of check boxes.

2. think about how to make a better looking GUI. either by Flex or Css, but not sure yet.

Thursday, June 11, 2009

June 11th Relations between tables Draft

I created a draft for the donor account system.

donor has_one address, phone_number, email, account
and
donor has_many donations

To accomplish these connection between tables,
I use " accepts_nested_attributes_for ".

For example,

in donor.rb
has_one :address
accepts_nested_attributes_for :address

in donor controller
add these to new and edit functions:
@donor.build_address unless @donor.address

in view:
<% f.fields_for :address do |a| %>
... ...
<% end %>

------
Preview:



login GUI:

Wednesday, May 27, 2009

May 27th Project's requirements

We got the email from Dr. Kanwar Vikram today about the information he wants to store in the DB.
Since another group is doing the database for the patients, the thing we need to do is to develop a DB for donors and donations.
After reading the email, we found out several characteristic the DB should have.

Data:

For donor:
personal ID(primary key), name, address (included city, state, zip-code),
contact info(email, mobile, landline),
cumulative donation

For donation:
donation ID(primary key), amount of donation,
when, to whom, from whom(donor's ID),


============
Because we generate a unique donation ID for each donation and it contains a donor's ID.
This works like the recipe.

Other functionalities:

* a user system, which can enable the donor can sign up an account and login.
It lets the donors to check their previous donations and the total amount.
Also, it has admin accounts which can check all these things happen.

* an email system, which can send out the monthly or semi-annually summary to the user.

* a payment system, enables donor can donate online.

Thursday, May 21, 2009

May 22nd Intro Presentation

p1 p1 tellingeric RCOS Summer 09 NGO DB Design 05-22-2009 presentation

Tuesday, May 19, 2009

May 19th Welcome!


http://www.cankidsindia.org/


Welcome to NGO Database Design project!

Our goals to this project is:

1. To create a database which stores all details about 3000-4000 children to provide an extensive information base.

2. To give out clear data statistic analysis and strong data management tools.


Using Language: Ruby, Ruby on Rails

Using Database: MySQL

------------------------------------

Develop Schedule for Summer 09:

May: DB Design
- Tables relationships, update methods, arrangements, algorithm design
- Learning RoR

June: RoR & DB
- Connection between RoR and MySQL,
- Create, Read, Update, Destroy method design,
- Authentications, I\O operations

July: GUI Design
- CSS or JS Coding, enhance the display

August: Debug & Testing
- Final testing,
- Hopefully Beta version of this project will be ready.

------------------------------------


And finally, please let me say thank you to Sean O'Sullivan '85 and Professor Krishnamoorthy, who provide fully supports to RCOS and this project.


------------------------------------
More details will be posted later.