Skip to content

3. Design

Turito Yuenan edited this page Dec 22, 2025 · 2 revisions

This page contains documentation that belongs to Stage 3: Design

System Architecture

System Architecture Diagram

Briefly, the system roughly follows a three-tier architecture, with PostgreSQL as the database, Svelte as the frontend, and the rest (SvelteKit server-side, Google Wallet API, Supabase Auth/Bucket) as the "backend". The development pipeline begins at GitHub which is used for storing and collaborating on source code, then GitHub Actions for CI/CD, and Cloudflare Workers for hosting the web application.

In total, four cloud computing platform are used in the system:

  • Cloudflare Workers: Host the SvelteKit app (just an option, can consider alternatives).
  • Supabase: Host the PostgreSQL database, storage buckets, and authentication service.
  • Google Wallet: Provide public API for managing Google Wallet tickets.
  • GitHub: Host the source code and CI/CD pipeline via GitHub Actions.

Clone this wiki locally