Week 2 : Fixing Issues and Supporting a Live Event

Customising the Default Layout and Fixing the Overflow Issue This week, I continued working on the React Admin issue assigned by Dr Shawn which is default layout customisation by creating a new copyright information button and displaying database information at the bottom-left corner of the side menu. After I submitted my pull request, Dr Shawn highlighted an overflow issue with the database URL display, and I spent most of my time this week working on resolving it. However, it turned Read more

Week 2: First On-Site Experience

Simplicity is Key On 3rd August, Dr. Shawn reviewed the first two mock pages for Sayembara’s website that I made during the first week of my internship. We have decided, however, that we minimize the amount of information-dumping that exists on the original website, and instead highlight on what the investors would possibly need from us with only a few words and attention-grabbing graphics. Dr. Shawn suggested I should highlight three things—a flowchart of what the system does, the legitimacy Read more

Week 22: Debugging, Progress & The Final Event

This week, I continued investigating the logo issue that appeared after the latest application upgrade. My initial investigation showed that the logo request was returning a 403 Cloudflare hotlinking error, while other CouchDB requests in the same session were working correctly. However, Dr. Shawn pointed out that this explanation did not fully make sense because the previous application version worked correctly without the issue. Therefore, instead of assuming the problem was caused by Cloudflare, we decided to compare the previous Read more

Week 21: Continuous Improvement

This Week This week, I continued developing the Rank-Based System, mainly focusing on the Rank Judge module. After testing the drag-and-drop functionality, I confirmed that it works well even when using a laptop touchpad. The list automatically scrolls while dragging, allowing judges to move participants from the top to the bottom of the ranking list smoothly. This works together with the thumbs up/down feature, giving judges multiple ways to rearrange rankings. During development, I accidentally introduced a new object (rank:<eventId>_<judgeId>) Read more

Week 1 : A Week of Onboarding and Learning

This week, I completed my onboarding, learned the fundamentals of React Admin, and completed my first project dependency update. Onboarding and React Admin On my first day, I attended an onboarding meeting with Dr. Shawn. The session gave me a clearer picture of what to expect during my internship, especially my responsibility to carefully review and verify my work before submitting it, as it may eventually be deployed to production. After the onboarding session, I worked through the React Admin Read more

Week 1: A Brand New Start!

A Welcome Ceremony On 27th July, I found out that both me and Liang Yao will be starting our internship journey at AESTE while in a call with Dr. Shawn. He gave us a warm welcome, assisted in setting up our work accounts, and gave a brief description on both of our job scopes. Dr. Shawn had assigned me, for the time being, to look at some examples of websites that’ll be similar to the one that I’ll be working Read more

Week 20: Iterating the Rank-Based System

What I Did This week, I spent most of my time preparing my internship draft report and updating all of my weekly logbooks in the myIntern system as my internship is approaching its final weeks. For the Rank-Based Sayembara project, I continued improving both the Rank Emcee and Rank Judge modules based on Dr. Shawn’s code review. Initially, I misunderstood one of the pull request comments regarding the Emcee module. I merged the Standard Emcee and Rank Emcee interfaces into Read more

Week 19: Simplicity is Key

What I Did This week, I continued improving the Rank Judge module based on Dr. Shawn’s feedback. Several enhancements were made, including adding thumbs up/down buttons for quicker ranking adjustments, completing the comment system, and refining the layout by rearranging the icons and adjusting their sizes for better usability. During our weekly meeting, Dr. Shawn reviewed the interface and suggested simplifying the design to make it more user-friendly. He recommended reusing the comment interaction from the existing standard judging system, Read more

Week 18: Progress Continues

What I Did This week, I continued improving the Rank Emcee module by optimising the bulk update implementation in cdb_client.dart. Instead of fetching each document individually, the new implementation now uses a single bulkDocs() request to retrieve all required documents, merges the changes in memory, and submits everything through a single bulk update request. This reduces the process to only two HTTP requests regardless of the number of documents involved. I also started developing the Rank Judge module. The first Read more

Week 17: Learning to Build Better

What I Did This week, I continued improving the Rank Emcee module based on Dr. Shawn’s review. I revised the implementation so that bulkStart() and bulkStop() always retrieve the latest data from CouchDB before performing updates, preventing stale revision conflicts. Both methods now update the event and its performances together instead of treating them as separate operations. I also enhanced the application by introducing the JudgingMethod enum (standard and rank) into EventObj for backward compatibility. In addition, the MainDrawer was Read more