{"id":29351824,"url":"https://github.com/lyxot/timeflow","last_synced_at":"2026-04-03T13:05:56.806Z","repository":{"id":294502197,"uuid":"985760514","full_name":"Lyxot/TimeFlow","owner":"Lyxot","description":"一款使用 Material Design 3 Expressive 设计风格的跨平台课程表应用。100% Kotlin/Compose Multiplatform ","archived":false,"fork":false,"pushed_at":"2025-12-01T17:50:35.000Z","size":2103,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-01T19:02:57.515Z","etag":null,"topics":["android","compose-multiplatform","ios","jetpack-compose","kotlin","kotlin-multiplatform","linux","macos","material-design-3","student-project","windows"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Lyxot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-18T13:24:59.000Z","updated_at":"2025-12-01T17:50:39.000Z","dependencies_parsed_at":"2025-08-11T09:10:39.571Z","dependency_job_id":"db4f892b-a211-4a0a-be8f-5635b7c5b16c","html_url":"https://github.com/Lyxot/TimeFlow","commit_stats":null,"previous_names":["lyxot/timeflow"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Lyxot/TimeFlow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lyxot%2FTimeFlow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lyxot%2FTimeFlow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lyxot%2FTimeFlow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lyxot%2FTimeFlow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lyxot","download_url":"https://codeload.github.com/Lyxot/TimeFlow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lyxot%2FTimeFlow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27445285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-02T02:00:06.387Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","compose-multiplatform","ios","jetpack-compose","kotlin","kotlin-multiplatform","linux","macos","material-design-3","student-project","windows"],"created_at":"2025-07-09T00:07:36.713Z","updated_at":"2026-04-03T13:05:56.796Z","avatar_url":"https://github.com/Lyxot.png","language":"Kotlin","funding_links":["https://github.com/sponsors/Lyxot"],"categories":[],"sub_categories":[],"readme":"# TimeFlow\n\nTimeFlow 是一款使用 [Compose Multiplatform](https://github.com/JetBrains/compose-multiplatform)\n构建的、使用 [Material Design 3 Expressive](https://m3.material.io) 设计风格的课程表应用，旨在提供简洁、美观、现代的用户体验。\n\n[![Stars](https://m3-markdown-badges.vercel.app/stars/3/3/Lyxot/TimeFlow)](https://github.com/Lyxot/TimeFlow)\n[![Issues](https://m3-markdown-badges.vercel.app/issues/1/2/Lyxot/TimeFlow)](https://github.com/Lyxot/TimeFlow/issues)\n![Kotlin](https://ziadoua.github.io/m3-Markdown-Badges/badges/Kotlin/kotlin2.svg)\n[![Support](https://ziadoua.github.io/m3-Markdown-Badges/badges/Sponsor/sponsor1.svg)](https://github.com/sponsors/Lyxot)\n\n## ✨ 功能特性\n\n- **跨平台支持**: 一份代码库，可在 Android, iOS, 和 桌面端 (Windows, macOS, Linux) 运行。\n- **课程表管理**: 轻松创建、编辑和管理您的课程表和课程。\n- **高度可定制**:\n    - 支持 Material Design 3 动态取色。\n    - 可自定义主题颜色。\n    - 浅色与深色模式切换。\n- **富有表现力的设计**: 基于 Material Design 3 Expressive 设计风格，提供流畅的动画和现代的视觉体验。\n- **云同步**: 支持通过 API 服务端提供云同步功能。\n- **分享**: \n    - 支持将课程表导出为文件/图片。\n    - 支持从文件/图片导入课程表。\n    - 支持使用 AI 从普通图片中提取课程表信息。\n\n| 课程表 | 今日 |\n| --- | --- |\n| ![](.readme/images/screenshot_mobile_page_schedule.png) | ![](.readme/images/screenshot_mobile_page_today.png) |\n\n| 浅色模式 | 深色模式 |\n| --- | --- |\n| ![](.readme/images/screenshot_desktop_page_schedule_light.png) | ![](.readme/images/screenshot_desktop_page_schedule_dark.png) |\n\n## 🔧 后端部署\n\nTimeFlow 支持通过 API 服务端提供云同步功能，并支持通过 Docker 私有化部署。\n\n有关后端部署和 API 文档，请参考 [Server README](./api/README.md) 和 [API README](./api/models/README.md)。\n\n## 🚀 如何构建\n\n在开始之前，请确保您已经安装了：\n\n- JDK 21 或更高版本\n- Android SDK (并将路径配置在项目的 `local.properties` 文件中)\n- （可选）[KDoctor](https://github.com/Kotlin/kdoctor) 来检查您的开发环境\n\n构建任务统一使用 `build{Target}{BuildType}{Format}` 命名格式，例如 `buildAndroidReleaseApk`、`buildLinuxDebugAppImage`。\n\n**构建 Android 应用:**\n\n```bash\n./gradlew buildAndroidReleaseApk\n```\n\n**构建 iOS 应用:**\n\n```bash\n./gradlew buildIosReleaseIpa\n```\n\n**构建桌面端应用:**\n\n```bash\n# macOS\n./gradlew buildMacosReleaseDmg\n\n# Linux\n./gradlew buildLinuxReleaseAppImage\n./gradlew buildLinuxReleaseDeb\n./gradlew buildLinuxReleaseRpm\n\n# Windows\n./gradlew buildWindowsReleaseMsi\n./gradlew buildWindowsReleaseExe\n./gradlew buildWindowsReleasePortable\n```\n\n\u003e **注意**: 桌面端构建任务只能在对应的操作系统上运行，且不支持跨架构构建。例如，`buildMacOSReleaseDmg` 只能在 macOS 上运行。\n\n**构建 Web 应用:**\n\n```bash\n./gradlew buildJsReleaseZip\n./gradlew buildWasmJsReleaseZip\n```\n\n生成的构建产物位于 `builder/build/artifacts` 目录下。\n\n**运行测试:**\n\n```bash\n./gradlew :app:shared:jvmTest\n```\n\n## License\nSee [LICENSE](./LICENSE) for more information\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flyxot%2Ftimeflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flyxot%2Ftimeflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flyxot%2Ftimeflow/lists"}