PROJECT Golden Ticket matching tool
Simon Hendery shared his thoughts about having a matching tool when Golden Ticket's owners could donate it in case they don't have someone in mind.
Simon asked the developer community for help and when I read it I immediately thought... YES!
When I said to Simon that I've developed the App, it was like throwing a rock into a river. I could see a ripple moving away from where the rock landed:
1) Just a few days online and the tool found the first match. Cheers Simon! The idea was yours!
2) Jace Benson posted about it spreading the idea.
3) Allen Andreas asked about the statistics and the section Our Numbers was implemented.
4) The tool was featured in JaceNow Youtube channel. Thanks Jace!
Analysing the solution's infrastructure
1) The User Interface
Both the donor and the learner access the User Interface where they can provide name, email and a message.
For data integrity reasons, we don't allow a user to register the same e-mail twice.
Fully responsive, the form can be accessed by any device. We also use SSL (Secure Sockets Layer) to encrypt the information between the User Interface and our website.
2) The Database layer
When the data is submitted, it is stored in a table. We have a flag to identify if the user was already matched or not.
3) Scheduled Job
We've created a scheduled job that runs in a daily basis.
The job query the database and verify the amount of donors and learners who contains the flag "not matched".
If we identify that there are one or more donors and learners not matched, the service match them preparing a record in a new table.
The match rule is a simple FIFO (First In, First Out) algorithm. When the form is submitted by the user, we store the date and time. Our algorithm order the records by date and time and relates the first (oldest) available donor with the first (oldest) available learner. These two records are then flagged as "matched" and the algorithm keep looking for the next pair of records (donor x learner) available.
4) Sending the E-mail
We've created a second scheduled job that now can query a list of prepared matches. If any, this service sends an email to each match informing the donor and learner contact information so they can connect and proceed with the donation process.
Thank you.
Screenshots:
Comments
Post a Comment