This page contains documentation that belongs to Stage 3: Design # System Architecture ![System Architecture Diagram](./F.-Diagram-SysArch.png) 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.