Skip to content

Commit 6f7ff0d

Browse files
docs: remove web worker project references
1 parent fcdd544 commit 6f7ff0d

7 files changed

Lines changed: 25 additions & 400 deletions

File tree

.github/workflows/codeql.yml

Lines changed: 1 addition & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,3 @@
1-
# For most projects, this workflow file will not need changing; you simply need
2-
# to commit it to your repository.
3-
#
4-
# You may wish to alter this file to override the set of languages analyzed,
5-
# or to provide custom queries or build logic.
6-
#
7-
# ******** NOTE ********
8-
# We have attempted to detect the languages in your repository. Please check
9-
# the `language` matrix defined below to confirm you have the correct set of
10-
# supported CodeQL languages.
11-
#
121
name: "CodeQL Advanced"
132

143
on:
@@ -22,12 +11,7 @@ on:
2211
jobs:
2312
analyze:
2413
name: Analyze (${{ matrix.language }})
25-
# Runner size impacts CodeQL analysis time. To learn more, please see:
26-
# - https://gh.io/recommended-hardware-resources-for-running-codeql
27-
# - https://gh.io/supported-runners-and-hardware-resources
28-
# - https://gh.io/using-larger-runners (GitHub.com only)
29-
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
30-
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
14+
runs-on: ubuntu-latest
3115
permissions:
3216
# required for all workflows
3317
security-events: write
@@ -47,47 +31,16 @@ jobs:
4731
build-mode: none
4832
- language: java-kotlin
4933
build-mode: autobuild
50-
- language: javascript-typescript
51-
build-mode: none
52-
- language: python
53-
build-mode: none
54-
# CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift'
55-
# Use `c-cpp` to analyze code written in C, C++ or both
56-
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
57-
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
58-
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
59-
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
60-
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
61-
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
6234
steps:
6335
- name: Checkout repository
6436
uses: actions/checkout@v4
6537

66-
# Add any setup steps before running the `github/codeql-action/init` action.
67-
# This includes steps like installing compilers or runtimes (`actions/setup-node`
68-
# or others). This is typically only required for manual builds.
69-
# - name: Setup runtime (example)
70-
# uses: actions/setup-example@v1
71-
72-
# Initializes the CodeQL tools for scanning.
7338
- name: Initialize CodeQL
7439
uses: github/codeql-action/init@v4
7540
with:
7641
languages: ${{ matrix.language }}
7742
build-mode: ${{ matrix.build-mode }}
78-
# If you wish to specify custom queries, you can do so here or in a config file.
79-
# By default, queries listed here will override any specified in a config file.
80-
# Prefix the list here with "+" to use these queries and those in the config file.
81-
82-
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
83-
# queries: security-extended,security-and-quality
8443

85-
# If the analyze step fails for one of the languages you are analyzing with
86-
# "We were unable to automatically build your code", modify the matrix above
87-
# to set the build mode to "manual" for that language. Then modify this step
88-
# to build your code.
89-
# ℹ️ Command-line programs to run using the OS shell.
90-
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
9144
- name: Run manual build steps
9245
if: matrix.build-mode == 'manual'
9346
shell: bash

.gitignore

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ venv.bak/
4141
.agent/skills/
4242
grades_raw.json
4343
shared_grades/
44-
.flask_session/
4544
*.json
4645
!android/app/google-services.json
4746
!requirements.txt
@@ -63,9 +62,6 @@ shared_grades/
6362
# Logs
6463
*.log
6564

66-
# Docker
67-
.dockerignore
68-
6965
# IDE & OS
7066
.idea/
7167
.vscode/

AGENTS.md

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,9 @@
55
## 專案結構
66

77
- `android/`:獨立 Kotlin / Jetpack Compose / Material 3 Android app,package 為 `com.clhs.score`
8-
- `demo/`:展示或 demo 相關內容。
9-
- `docs/`:Android 與整體專案文件。
8+
- `demo/`:展示素材與截圖頁面。
109
- `.github/workflows/`:此 repo 的 Android release、demo deploy 與通用檢查 workflow。
1110

12-
## 已搬出的同層專案
13-
14-
- `..\clhs-score-worker\web`:原 `web/`,Flask 後端、Vite 前端、web 測試、Dockerfile、Docker Compose 與 web 專用 scripts。
15-
- `..\clhs-score-worker`:原 `workers/clhs-score-worker/`,獨立 Cloudflare Workers fullstack web backend nested git repo。
16-
1711
## 工作規則
1812

1913
- 優先保留既有資料流程與檔案分層。UI 改版請先找現有 screen、theme、chart 元件,不要另建平行 app。
@@ -24,8 +18,6 @@
2418
## 常用驗證
2519

2620
- Android:在 `android/` 內執行 `.\gradlew.bat test`
27-
- Web:切到同層 `..\clhs-score-worker\web` 後執行該專案的 `AGENTS.md` 驗證
28-
- Cloudflare Worker:切到同層 `..\clhs-score-worker` 後執行該專案的 `AGENTS.md` 驗證
2921

3022
在 Windows Codex 環境跑 Android Gradle 時,若 `java` 不在 PATH,使用 Android Studio 內建 JBR,並將 `GRADLE_USER_HOME``ANDROID_USER_HOME` 指到 workspace 內的暫存目錄。若測試一開始就出現 `could not open ...\jbr\lib\jvm.cfg`,通常是設定的 Android Studio JBR 路徑不存在或不完整;先用 `Test-Path` 或列出 `C:\Program Files\Android\Android Studio*` 確認實際 JBR 位置。本機曾遇到 `C:\Program Files\Android\Android Studio\jbr` 不可用,而 `C:\Program Files\Android\Android Studio1\jbr` 可用。
3123

@@ -35,7 +27,7 @@
3527
- Release notes 來自 `CHANGELOG.md` 內與 tag 對應的 `## [x.y.z]` 區塊;新增版本時要先補 changelog。
3628
- `CHANGELOG.md` 的新版本內容必須和上一個版本比較,並比照既有 `v1.1.0` 的分類寫法(Features、Bug Fixes、Performance Improvements),不要混入更早版本已經發布的內容。
3729
- **重要規則**:將更新發布推送至 GitHub 前,必須先將 `CHANGELOG.md` 寫完並請使用者檢查和修改,確認無誤後才能推送。
38-
- **重要規則**`CHANGELOG.md` 僅用於記錄與 Android app 有關的更新。若僅修改 Web Demo 等非 Android app 相關的程式碼,請勿更動 `CHANGELOG.md`,也不要新增版本號
30+
- **重要規則**`CHANGELOG.md` 僅用於記錄與 Android app 有關的更新。若僅修改展示素材、文件或 workflow,請勿新增版本號
3931
- GitHub Secrets 需設定 `ANDROID_RELEASE_KEYSTORE_BASE64``ANDROID_RELEASE_KEYSTORE_PASSWORD``ANDROID_RELEASE_KEY_ALIAS``ANDROID_RELEASE_KEY_PASSWORD`。不要提交 keystore 或密碼。
4032

4133
## Android UI fake data
@@ -67,8 +59,3 @@
6759
- 設定頁的「匯出成績」使用 `GradeExporter``data/GradeExporter.kt`)產生 BOM+UTF-8 CSV,透過 `MediaStore` API 存到 Downloads。
6860
- 匯出流程由 `ScoreViewModel.exportGrades()` 驅動,支援跨學期多考試批次匯出;未快取的考試會自動從網路拉取。
6961
- 考試勾選 UI 在 `ui/ExportDialog.kt`,依學期分組並預設全選。
70-
71-
## 搬出專案提醒
72-
73-
- `web/` 已搬到同層 `..\clhs-score-worker\web`,此 repo 不再放 Flask/Vite web 程式碼。
74-
- `workers/clhs-score-worker/` 已搬到同層 `..\clhs-score-worker`,Worker 相關提交應在該獨立 repo 內處理。

DESIGN.md

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
---
22
version: alpha
33
name: CLHS Score
4-
description: Design system for the CLHS Score web app, Android app, and demo site.
4+
description: Design system for the CLHS Score Android app.
55
colors:
66
primary: "#1565C0"
77
primaryDark: "#82B1FF"
8-
primaryWeb: "#2D5DAA"
9-
primaryDemo: "#4A9EFF"
108
onPrimary: "#FFFFFF"
119
primaryContainer: "#BBDEFB"
1210
onPrimaryContainer: "#002171"
@@ -22,11 +20,8 @@ colors:
2220
dangerDark: "#FFB4AB"
2321
backgroundLight: "#FBFCFF"
2422
backgroundDark: "#121212"
25-
backgroundWebDark: "#111318"
26-
demoBackground: "#0A0A0F"
2723
surfaceLight: "#FBFCFF"
2824
surfaceDark: "#121212"
29-
surfaceWebDark: "#111318"
3025
surfaceElevatedLight: "#FFFFFF"
3126
surfaceElevatedDark: "#1E2025"
3227
surfaceContainerLight: "#EEF2F6"
@@ -35,7 +30,6 @@ colors:
3530
surfaceVariantDark: "#43474E"
3631
textLight: "#1A1C1E"
3732
textDark: "#E2E2E6"
38-
textWebDark: "#E1E2E8"
3933
textSecondaryLight: "#43474E"
4034
textSecondaryDark: "#C3C7CF"
4135
outlineLight: "#73777F"
@@ -107,7 +101,7 @@ components:
107101
rounded: "{rounded.md}"
108102
padding: 14px
109103
button-primary-hover:
110-
backgroundColor: "{colors.primaryWeb}"
104+
backgroundColor: "{colors.primary}"
111105
textColor: "{colors.onPrimary}"
112106
rounded: "{rounded.md}"
113107
card:
@@ -140,34 +134,33 @@ components:
140134

141135
## Overview
142136

143-
壢中成績的介面是「安靜、可信、可重複使用的成績工具」,不是行銷式儀表板。設計重點是讓學生快速確認平均、排名、科目落點與趨勢,因此資訊層級、數字可讀性和狀態辨識要優先於裝飾。
137+
壢中成績的 Android 介面是「安靜、可信、可重複使用的成績工具」,不是行銷式儀表板。設計重點是讓學生快速確認平均、排名、科目落點與趨勢,因此資訊層級、數字可讀性和狀態辨識要優先於裝飾。
144138

145-
Web 與 Android app 採 Material 3 語彙:藍色作為主要行動與資料焦點,綠色處理成長/優勢,黃橘色處理提醒,紅色只用於錯誤或低分風險。Demo site 可以更有展示感,但仍要延續深色、藍色焦點與清楚的 app icon 訊號
139+
Android app 採 Material 3 語彙:藍色作為主要行動與資料焦點,綠色處理成長/優勢,黃橘色處理提醒,紅色只用於錯誤或低分風險。
146140

147141
## Colors
148142

149-
色彩以 Material 3 的 light/dark scheme 為核心。Android 的 `ScoreTheme.kt` 是 app 端主要來源;Web 已搬到同層 `../clhs-score-worker/web`;網頁端主要來源是 `../clhs-score-worker/web/frontend/styles/tokens.css`
143+
色彩以 Material 3 的 light/dark scheme 為核心。Android 的 `ScoreTheme.kt` 是 app 端主要來源。
150144

151145
- **Primary** 用於主要 CTA、選取狀態、目前資料點、進度與重點數字。
152146
- **Surface** 用於卡片、底部導覽、彈窗與表格容器;不要把大面積內容做成過亮或過飽和。
153147
- **Success / warning / danger** 只表達成績語意或系統狀態,不應當作裝飾色。
154-
- **Demo background** 可以使用接近黑色的深色背景與白色粒子,但粒子不可遮擋文字或 icon。
155148

156149
## Typography
157150

158-
Android 使用 Material 3 預設 Roboto,Web 使用 `Roboto` + `Noto Sans TC`,Demo 使用 `Outfit` + `Noto Sans TC`。新介面若未明確屬於 demo,預設使用 Roboto / Noto Sans TC
151+
Android 使用 Material 3 預設 Roboto;中文說明可使用 Noto Sans TC 作為文件與展示文字參考
159152

160153
數字欄位、平均、排名、百分比、分數差距必須使用 tabular numbers 或等寬數字特性,避免資料更新時水平跳動。中文說明文字使用較寬鬆 line-height,標題保持短句,不做過度行銷化文案。
161154

162155
## Layout
163156

164-
畫面應以「總覽 → 排名/平均 → 科目細節 → 圖表/趨勢 → 操作」的閱讀順序組織。手機 app 優先單欄、卡片堆疊;Web 可使用兩欄或卡片 grid,但不要讓同一層級資訊密度過高
157+
畫面應以「總覽 → 排名/平均 → 科目細節 → 圖表/趨勢 → 操作」的閱讀順序組織。手機 app 優先單欄、卡片堆疊,不要讓同一層級資訊密度過高
165158

166-
常用間距以 8px 系列建立:8px 用於小元素內距,16px 用於卡片內容,24px 用於卡片群組,32px 以上用於區塊分隔。主要內容容器在 Web 上維持可掃讀寬度,避免滿版拉長成績表格。
159+
常用間距以 8px 系列建立:8px 用於小元素內距,16px 用於卡片內容,24px 用於卡片群組,32px 以上用於區塊分隔。
167160

168161
## Elevation & Depth
169162

170-
深色模式偏向低陰影、靠 surface 色階與細邊框建立層級。Light mode 可以使用柔和陰影,但卡片不應浮得太重。Demo 首屏可使用 glow、粒子與 icon shadow,但產品內頁要避免大面積裝飾光暈
163+
深色模式偏向低陰影、靠 surface 色階與細邊框建立層級。Light mode 可以使用柔和陰影,但卡片不應浮得太重。產品內頁要避免大面積裝飾光暈
171164

172165
互動狀態以 subtle background、outline、primary tint 或 1-2px 位移呈現;不要用大幅縮放造成資料版面跳動。
173166

@@ -193,7 +186,6 @@ Do:
193186
- 保持工具感:資訊密度可以高,但層級要清楚。
194187
- 使用 Material 3 color roles 和既有 tokens,不臨時創造近似藍色。
195188
- 讓平均、排名、百分比等數字對齊且容易比較。
196-
- 在 demo 或行銷頁可加入動態背景,但互動效果必須在內容層之後。
197189

198190
Don't:
199191
- 不要把學生資料、帳密、token 或正式環境 secret 寫進 UI、文件範例或截圖。

README.md

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
# 壢中成績 Web Android — 中大壢中
1+
# 壢中成績 Android — 中大壢中
22

33
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
44

55
> [!IMPORTANT]
66
> 本專案為非官方開發之第三方服務,我們與壢中及欣河智慧校園平台無任何直接關聯。
77
8-
此 repo 目前保留 Android 原生版與相關文件。原 Flask/Vite Web 端已搬到同層 `../clhs-score-worker/web`,Cloudflare Worker 版已搬到同層 `../clhs-score-worker`
8+
此 repo Android 原生 app 為核心,使用 Kotlin、Jetpack Compose 與 Material 3 實作成績查詢、分析、趨勢比較與課表小工具
99

1010
## 功能亮點
1111

12-
- **Android 原生版**:Kotlin + Jetpack Compose + Material 3,手機直連學校系統,不依賴 Web 伺服器
12+
- **Android 原生版**:Kotlin + Jetpack Compose + Material 3,手機端直接連線學校系統
1313
- **成績視覺化**:雷達圖、長條圖、五標落點、分數分布,一眼掌握表現。
1414
- **深色模式與動態色彩**:支援淺色、深色、AMOLED 純黑與 Material You 動態色彩。
1515
- **成績模擬器**:調整各科分數與採計科目,快速試算調整後的平均。
@@ -27,26 +27,17 @@ flowchart TB
2727
| 目錄 | 說明 | 文件 |
2828
|------|------|------|
2929
| [`android/`](android/) | Kotlin / Jetpack Compose 原生 App | [android/README.md](android/README.md) |
30-
| [`docs/`](docs/) | 架構文件 | [docs/](docs/) |
31-
| [`demo/`](demo/) | Demo 相關內容 | |
32-
33-
## 同層拆分專案
34-
35-
| 目錄 | 說明 |
36-
|------|------|
37-
| [`../clhs-score-worker/web`](../clhs-score-worker/web) | Flask 後端 + Vite 前端 + Docker 部署 |
38-
| [`../clhs-score-worker`](../clhs-score-worker) | Cloudflare Workers fullstack web backend |
30+
| [`demo/`](demo/) | 展示素材與截圖頁面 | |
31+
| [`.github/workflows/`](.github/workflows/) | Android release、demo deploy 與程式碼掃描 workflow | |
3932

4033
## 快速開始
4134

42-
- **Android**:參見 [`android/README.md`](android/README.md),使用 Gradle 建置。
43-
- **Web**:切到 `../clhs-score-worker/web` 後參考該目錄的 `README.md`
44-
- **Cloudflare Worker**:切到 `../clhs-score-worker` 後參考該目錄的 `README.md`
35+
參見 [`android/README.md`](android/README.md),使用 Gradle 建置與測試 Android app。
4536

4637
## 貢獻者
4738

4839
[@alvin000009238](https://github.com/alvin000009238)
4940

5041
## License
5142

52-
[MIT](LICENSE) © 2026 alvin000009238
43+
[MIT](LICENSE) © 2026 alvin000009238

android/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Android 原生成績查詢 App
22

3-
這是成績查詢系統的 Android 原生版本,使用 Kotlin、Jetpack Compose 與 Material 3 實作。手機端直接連線學校系統,不依賴既有 Flask server
3+
這是成績查詢系統的 Android 原生版本,使用 Kotlin、Jetpack Compose 與 Material 3 實作。手機端直接連線學校系統。
44

55
## 技術棧
66

@@ -16,11 +16,11 @@
1616
- `applicationId`: `com.clhs.score`
1717
- namespace: `com.clhs.score`
1818
- minSdk: 29
19-
- targetSdk: 36
20-
- compileSdk: 36
21-
- Android Gradle Plugin: 9.0.0
22-
- Gradle wrapper: 9.3.1
23-
- Compose BOM: 2026.03.00
19+
- targetSdk: 37
20+
- compileSdk: 37
21+
- Android Gradle Plugin: 9.2.1
22+
- Gradle wrapper: 9.4.1
23+
- Compose BOM: 2026.05.01
2424

2525

2626
## 功能

0 commit comments

Comments
 (0)