Skip to content

Weekly Logs

Turito Yuenan edited this page Jan 5, 2026 · 12 revisions

Weekly Log 28 to 30

2025-12-15 to 2026-01-04

Accomplished

  • Tuesday 16: Add support for Open Graph and Twitter Cards (not like they are any useful).
  • Tuesday 16: Adjust UI for event creation/editing form.
  • Thursday 18: Update database schema to replace enum types with lookup tables. These will make it easier for admins to configure.
  • Thursday 18: Fixed my skill issue from not knowing how to do join using the client library.
  • Sunday 21 - Tuesday 23: Write documentation (still not complete).
  • Wednesday 24: Debug and fix event CRUD (in Manage event page).

Un-Accomplished

  • Finish documentation

Difficulties

  • 😔 (I can only be disappointed in myself) less than 40% of the time in three weeks were spent to Tradao.
  • It is difficult to evaluate the current state and readiness of the app, without proper communication with client.

Plan for next week

  • Get the documentation done to pass the project to clients and potential collaborators.
  • Open for Beta test with minimum viable features.
  • Transfer to ITea Lab GitHub organisation.

Weekly Log 27

2025-12-08 to 2025-12-14

Accomplished

  • Monday 08: Attempt to rewrite using Vue => Fail
  • Friday 12: Rewrite in SvelteKit
  • Friday 12: Successfully ditch Edge Function needed for Google Wallet Integration
  • Friday 12: Successfully deploy to Cloudflare Workers and ditch Deno Deploy.

Un-Accomplished

  • Everything else

Plan for next week

  • Everything else

Weekly Log 26

2025-12-01 to 2025-12-07

Accomplished

  • Add CORS and Trailing Slashes middlewares.
  • Centralise all prop types for better code management.
  • Fix library conflict errors by sourcing all dependencies from NPM.
  • Renew test suite with BDD library, add automated code coverage report.
  • Migrate web application UI to use BeerCSS framework, which implements a Material 3 design.

Un-Accomplished

  • Fix weird error that prevent non-logged-in users from being redirected to login page.
  • Actually, fix any login error at all because frontend auth is a mess right now.
  • Add page for event CRUD.
  • Update ticket scan page.

Difficulties

  • It is hard to pinpoint the system architecture to follow a three-tier or microservice pattern, as the application makes use of both PostgREST and edge functions. This can introduce significant performance challenges when scaling up.
  • It has been difficult to determine the proper use cases and branding due to lack of communication. I have made the mistake of not properly discussing with all stakeholders the direction of Tradao, as available for ITea Lab only or all clubs at Swinburne HCMC.

Plan for next week

  • Simplify and properly document system architecture.
  • Devise brief roadmap and send to ITea Lab client for review.
  • Complete documentation on GitHub Wiki to aid potential collaboration.
  • Update ticket scan page.

Weekly Log 24 to 25

2025-11-17 to 2025-11-30

Accomplished

  • Complete and submit COS30017 Assignment 3, using the presented idea of an Android application.
    • The application is called Dajtradao, and provides a Swinburne-HCM-wide solution for event organisation and registration.
    • Due to time constraints, not all features were implemented.
    • The application demonstrated the potential for a mobile app solution, with QR code generation and scanning on one app.
    • Google Wallet integration was not successful due to insufficient knowledge on adding credentials into the app.
  • Fall Semester ends by the 30th, after which the project can resume normal operation.

Plan for next week

  • Reimplement the application using SvelteKit and BeerCSS.
  • Add feature to persist check-in status for event participants.

Weekly Log 23

2025-11-10 to 2025-11-16

Accomplished

  • Discuss with client (Sr. Bao), consolidating the event creation flow to begin with uploading of event image to Supabase Storage with generated ID, then insert the event data, all with data validation throughout.

Weekly Log 21 to 22

2025-10-27 to 2025-11-09

Accomplished

  • Present a Tradao-based Android application idea to Mr. Hoang Nguyen for COS30017 Assignment 3 topic.
  • Plan for an assignment-scoped Android application accommodating all events in the Swinburne HCM campus.
  • Discuss with clients (Sr. Thinh and Sr. Bao), concluding on displaying past events on the event browse page and disabling event registering on these events.

Weekly Log 19 to 20

2025-10-13 to 2025-10-26

Accomplished

(no activity documented)

Un-Accomplished

  • Complete Sign in with Google functionality.
  • Write comprehensive documentation for outside collaboration.

Difficulties

  • Recently, it has become nearly impossible for me to work on this project, due to an immense amount of university assignment. Having overloaded this semester, I expected this to happen.
  • I wonder if I had made the right choice with choosing the Fresh framework. While its island architecture and React-based syntax has been beneficial, I doubt the support, stability, and flexibility of it.
    • The new version came a few weeks ago, making so much changes that the old documentation is completely out-of-date (along with most tutorial blog posts) and the new documentation is incomplete.
    • It has limited deployment choices (Deno Deploy so far).
    • The original task of unifying the backend has been lost. Google Wallet integration still runs on Supabase edge function.
    • Because of this, I may consider changing the framework in the near future.

Weekly Log 18

2025-10-06 to 2025-10-12

Accomplished

  • Refactor Navbar component to receive menu items as props.
  • Replace React-style useState() with Preact-style useSignal().
  • Begin integration with Google OAuth.
  • Edge Functions: Update WalletObjects and Jose libraries.

Weekly Log 17

2025-09-29 to 2025-10-05

Accomplished

  • Migrate to Fresh 2.1.1.
  • Change to new domain tradao.turitoyuenan.deno.net.
  • Proceed with client to implement Sign in with Google.

Un-Accomplished

  • Sign in with Google functionality
  • ITea Lab style for Google Wallet Pass

Difficulties

  • I am not familiar with implementing SSO/OAuth.
  • The domain change was caused by unsolvable Deno Deploy errors.

Plan for next week

  • Use a manual script to update Google Wallet pass class
  • Follow Supabase's tutorial to implement Login with Google

Weekly Log 14 to 16

2025-09-08 to 2025-09-28

Accomplished

  • Add POST endpoint to create event.
  • Add Create new event page.
  • Add GET endpoint to lookup ticket by ID.
  • Add Check ticket page.
    • Learned and practiced how to add webcam view to a webpage.
    • Learned and practiced how to use the jsQR library.
    • Practiced ticket lookup with debounce support.
  • Replace own validation code with yup library.
    • This makes data validation more consistent and well-supported.

Un-Accomplished

  • Implement admin/manager login
  • Complete event creation page

Difficulties

  • Just completed three large assignments in the past weeks, expected to complete 2-3 more in the next weeks
  • I don't know jack about Supabase Auth (or modern auth in general) => gotta learn
  • It took me longer than expected to learn how to use the yup library

Plan for next week

  • Get the data validation done
  • Finally implement secure admin/manager login

Weekly Log 13

2025-09-01 to 2025-09-07

Accomplished

  • Begin a new implementation using Deno Fresh: Preact, Tailwind, full-stack server-side

Difficulties

  • Both Cloudflare Pages and Cloudflare Workers gets difficult when trying to implement server-side features that depend on Node.js libraries => Move to Deno Fresh and use Deno Deploy
  • Turned out Deno Deploy has a separate issue with server-side features => Temporarily use Supabase edge function for interacting with Google Wallet

Weekly Log 12

2025-08-25 to 2025-08-31

Accomplished

  • Fix testrun issue: Registration form placed in less focused position in Event details page
  • Fix testrun issue: Registration form submit button risks being triggered multiple times

Un-Accomplished

  • Fix testrun issue: Event list page glitches after using pagination and then search/filter

Difficulties

  • With lots of other things to do, I find it difficult to focus on writing detailed Weekly Logs and other documentation
  • Supabase edge functions turned out to be hard to maintain: they require a separate runtime, I have to install the same client library again, they may suffer from cold starts, I either need Docker to build them or copy-paste or edit directly on the web IDE.

Plan for next week

  • Convert Supabase edge functions to SvelteKit server-side endpoints

Weekly Log 5 to 11

2025-07-07 to 2025-08-24

(no activity documented)

Difficulties

  • I have been busy with:
    • Hanging out in Melbourne
    • Working on a conference paper for CCIOT 2025 about Elixir-based edge server
    • Going back to Vietnam and experiencing reverse culture shock
    • Joining Experience Day in August
    • Working on another conference paper about Elixir-based MPC
    • Preparing and joining Conception Day 2025
    • Joining Orientation Day 2025

Plan for next week

  • Continue having this project of lower priority than the conference paper

Weekly Log 4

2025-06-30 to 2025-07-06

Accomplished

  • Moved high-level documentations to tradao-emp.wiki repository
  • Added some JSDoc documentation to frontend and edge function code
  • Completed Google Wallet ticket design in JSON format
  • BE: Added @googleapis/walletobjects library to support Google Wallet integration
  • BE: Added guards to ensure environment variables are present
  • BE: Made some code refactoring

Un-Accomplished

  • Test Google Wallet ticket design
  • Ask prioritised stakeholders for suggestions to event registration process.

Difficulties

  • I have been spending most of this week hanging out in Melbourne, so not a lot of progress is made
  • It gets a bit difficult and risky to test Google Wallet integration.

Plan for next week

Weekly Log 3

2025-06-23 to 2025-06-29

Accomplished

  • DB: Created SQL view ticket_with_event_details to support ticket lookup
  • BE: Created edge function manage-tickets to test connection to Google Wallet API
  • FE: Adjusted the grid layout in Event details page
  • FE: Implement search and filter of events
  • Attemped to implement Google Wallet integration

Un-Accomplished

  • Implement lab member authentication and Create event page.
  • Survey for better event registration form.
  • Brainstorm and survey for Supabase RBAC.

Difficulties

  • Google is not consistent at all in its documentations, and specifies a lot of different libraries and techniques to do non-relevant things.
  • The Google Wallet API is almost alien compared to the rest of GCP.
  • No comprehensive tool to preview Google Wallet pass class/object; Google pass builder is simply not helpful.
  • Source code to interface with Google Wallet API has been messy.
  • To professionally debug Supabase edge functions, I must deploy a local Supabase instance and enable devTool mode. This turned out to be extremely resource consuming: >5 GB of Docker images, 11 containers, laptop overheat intensely.

Plan for next week

  • Ask prioritised stakeholders for suggestions to event registration process.
  • Finish event registration process with Add to Google Wallet functionality

Weekly Log 2

2025-06-16 to 2025-06-22

Accomplished

  • Git: Rebase all commits.
  • DB: Created SQL function create_event_tickets.
  • DB: Created SQL view upcoming_events.
  • BE: Removed edge function process-participation in favour of direct INSERT query in FE via the client library.
  • BE: Created edge function get-ticket to lookup an event ticket.
  • FE: Add embedded Google Map into Event details page.
  • FE: Created Ticket lookup page with ticket details, "Add to Google Wallet" button.

Un-Accomplished

  • FE: Use upcoming_events SQL view in Event list page
  • FE: Implement search and filter of events
  • Implement Google Wallet integration
  • Implement lab member authentication and Create event page

Difficulties

  • Embedded Google Map is hardcoded on one location (the Swinburne HCMC campus), and there is currently no easy way to change it based on event location.
  • Role-based Access Control in Supabase (e.g. via RLS) does not apply principle of least privilege.
  • Git Rebase caused all previous commits to reset their timestamps to 20/June.

Plan for next week

  • Survey for better event registration form
  • Brainstorm and survey for Supabase RBAC

Weekly Log 1

2025-06-09 to 2025-06-15

Accomplished

  • DB: Created SQL table community_events.
  • DB: Created SQL table event_tickets.
  • BE: Created edge function process-participation to handle user registration.
  • FE: Added Supabase client library.
  • FE: Created Event list page with multiple, paginated event cards.
  • FE: Created Event details page with event details presented in a grid layout.

Un-Accomplished

  • Git: Write commit messages in the Conventional Commits format.
  • FE: Test user registration of event

Difficulties

  • With already 20 commits in the remote repository, applying Conventional Commits require Git rebasing and force-pushing.
  • It is unofficialised what data to require from user registering for events => Use fields from Google Forms but will change

Plan for next week

  • FE: Add a page to lookup event tickets after the user has registered
  • Rebase anyway to apply Conventional Commits

Clone this wiki locally