Wear OS app

Classing课程表

A cross-device timetable that syncs your schedule from phone to wrist.

View on GitHub

Features

Built for your day

Every piece of the sync pipeline designed for reliability.

SyncGateway

Abstract sync layer for cross-device data flow. Swap in real Data Layer or MessageClient transports.

Cloud Sync V2

Pull-push cloud sync with cursor tracking, conflict resolution, and automatic retry.

ICS RRULE Parser

Full ICS import pipeline: ImportParser, IcsImportParser, ImportResult, and ScheduleImportAdapter.

Tombstone & ETag Sync

Incremental sync via last-sync cursors. Tombstone deletion and ETag-based conflict strategies.

Wrist Preview

Live on your wrist

Scroll through your schedule at a glance with Wear OS Material Design.

10:25▮▮▮
08:00Linear Algebra
09:50Data Structures
11:40Computer Networks
14:00OS Principles
15:50Digital Logic

Architecture

Three modules, one goal

The project splits cleanly into mobile, wear, and shared modules.

mobile

Kotlin / Android

Phone app for course management, ICS import, reminder settings, and sync control.

shared

Kotlin Multiplatform

Shared models, ICS parsing, reminder calculation, sync contracts, and conflict resolution.

app

Kotlin / Wear OS

Wrist app for timetable display, next-class glance, and lightweight interactions.

backend

Go

Cloud sync relay handles ETag reconciliation, tombstone sync, and push notifications.

Get Started

Start building

Clone the repository, open it in Android Studio, pick the module, and run.

git clone https://github.com/xtawa/WearOS_ClassingTimeTable.git
cd WearOS_ClassingTimeTable
./gradlew :shared:test
# Open project in Android Studio, then run 'mobile' or 'app'