This week was a major turning point for my project. What I had done for the previous week or so had to be thrown out of the window as the client decided to change their requirement. Here’s how it went down.
On the first day of the week, I pretty much completed the basic flow of the project, or so I thought. When Dr Shawn pulled the code from the git repository, build it and then run the program on his PC, he encountered quite a few issues with the program, in which some crashes the program. Let’s just say that Dr Shawn was rather displeased of it, and of course I needed to get them fixed ASAP. The problem was that I tested my program the wrong way. When it comes to testing products, be it software, hardware, or anything commercial, it is important to identify its boundaries or limitations. From a software’s perspective, within this boundary is a set of all inputs which would make the software function the way it should, beyond that causes an opposite effect. When I tested my program during its development, it was in an environment where everything worked out the way it should, but that probably won’t be the case if it was executed somewhere else. Dr Shawn taught me a technique which you clone the git repository, where my project’s code resides, into a separate directory. From there, when testing, you would be able to identify problems that you would missed out in your normal development environment. I should be making a habit out of this from now on.
Now, the following day was where the project took a turn for good. Well it didn’t surprise as much as it should, as before that we were already considering the possibility of handling the registration another way. In WooCommerce, there are plugins which enables buyers to customize the products the way they want it too, and that is through what is called Product Add-Ons. We could use this Add-Ons to obtain participant information and when the order has been made, the webhook would send us all the necessary registration data. WooCommerce never fails to amaze me. It was just a matter of whether the registrants pay first then fill in the participants’ details later or registration happens on the store itself then make payments. The client decided to choose the latter. So all my code regarding our own registration form had to be removed and some parts are needed to be modified to accommodate this change. I’m not sure how to feel about this because I do feel somewhat relieved that I’m gonna saving myself further frustrations on working the form itself, but at the same time, the whole time spent working on the form could have been spent progressing on the project further. However, I had no regrets working on the form actually; it taught me some things on user interface design and how useful the Wt framework is to make dynamic web apps.
Anyhow, it is already past the midpoint of my internship period. Only four more weeks to go before the end of my internship. I must be keeping up the pace or I am going to face the biggest regret of my life so far yet.