furyhawk d448ee2854 Add initial iOS project setup with LaunchScreen and Main storyboards, Info.plist, and SPM configuration
- Created LaunchScreen.storyboard for app launch interface.
- Added Main.storyboard for the main app interface with a bridge view controller.
- Initialized Info.plist with necessary app configuration settings.
- Set up .gitignore for SPM dependencies and build artifacts.
- Created Package.swift for managing SPM dependencies, including Capacitor and Cordova.
- Added README.md for CapApp-SPM package documentation.
- Implemented a simple CapApp-SPM.swift file to indicate the app is a Capacitor app.
- Introduced debug.xcconfig to manage debug configuration settings.
2026-06-06 19:50:18 +08:00

Bus SG App

A lightweight bus transport web app that uses the gateway OpenAPI contract at:

The frontend is built with SvelteKit. It dynamically loads transport endpoints from the OpenAPI spec and calls them through a SvelteKit server hook proxy.

Stack

  • SvelteKit + Vite + Svelte 5
  • Bun for package management and scripts

Run

  1. Ensure your API gateway is running at http://localhost:8067.
  2. Install dependencies:
bun install
  1. Start this app in development:
bun run dev
  1. Open:

Build and preview

bun run build
bun run preview

You can also use bun run start to run preview mode.

Capacitor Mobile Targets

This project is now configured with Capacitor for native mobile targets.

Included platforms

  • Android project in android/
  • iOS project in ios/

Build and sync web assets to mobile

bun run mobile:build

Sync only (after web changes)

bun run cap:sync

Open native projects

bun run cap:open:android
bun run cap:open:ios

One-time add platform commands (already done in this repo)

bunx cap add android
bunx cap add ios

Containerized run (Docker and Podman)

This project includes:

  • Dockerfile
  • compose.yaml
  • Makefile wrapper for Docker Compose and Podman Compose

By default, the container expects your gateway at:

  • http://host.containers.internal:8067

If you use Docker Desktop on macOS and need Docker host mapping instead, set:

  • API_ORIGIN=http://host.docker.internal:8067

Start with Docker Compose

make up ENGINE=docker

Start with Podman Compose

make up ENGINE=podman

Useful commands

make build ENGINE=docker
make logs ENGINE=docker
make ps ENGINE=docker
make down ENGINE=docker

You can replace ENGINE=docker with ENGINE=podman in all commands.

Optional environment overrides

APP_PORT=3001 API_ORIGIN=http://host.docker.internal:8067 make up ENGINE=docker

Screenshot

Nearby Bus Arrivals UI

Project structure

src/
	app.css
	app.html
	hooks.server.js
	routes/
		+layout.svelte
		+page.svelte
svelte.config.js
vite.config.js
package.json

Features

  • Dynamic endpoint explorer built from OpenAPI paths under /api/v1/*
  • Bus-focused endpoint filtering (Bus and Passenger Volume tags)
  • Quick bus-arrival panel that uses your current location to resolve the nearest bus stop automatically
  • Map view for current location and nearest resolved bus stop
  • Tap-to-query map interaction: tap any point on the map to resolve nearest stops and load arrivals for that area
  • Optional ServiceNo filter for arrival checks
  • JSON response viewer
  • Arrival board card view when the response includes Services
  • Server-side proxying for /api/* and /openapi.json

Config

Environment variables:

  • API_ORIGIN (default: http://localhost:8067)

Example:

API_ORIGIN=http://localhost:8067 bun run dev -- --port 3001

Cleanup note

Legacy files from the earlier custom Node static server version were removed.

S
Description
No description provided
Readme
8.3 MiB
Languages
Svelte 46.7%
CSS 32%
Swift 8.6%
JavaScript 6.6%
Java 3%
Other 3.1%