這個專案是一個基於 Flutter 開發的課堂學習筆記軟體。它提供了一個可以自由調整大小、拖曳排序的多面板工作區,幫助學生同時瀏覽投影片、逐字稿、AI 總結與聊天。
這裏簡單介紹每個重要檔案所負責的功能,方便開發者快速上手:
lib/main.dart:應用的進入點。負責初始化 App、設定綠色系主題,以及配置頁面跳轉的路由規則(go_router)。lib/widgets/layout_wrapper.dart:全域的畫面外殼。會自動幫一般頁面加上頂部標題和底部狀態列,並在進入課堂看筆記時自動隱藏它們,空出完整螢幕。
lib/screens/dashboard.dart:首頁(儀表板)。用來展示目前的所有課程卡片。lib/screens/course_details.dart:課程詳細頁面。展示該堂課的大綱、講義資料夾與課堂檔案。lib/screens/lecture_view.dart:筆記本頁面。支援多面板並存、滑動拉桿調整大小、拖曳手把排序、以及防範螢幕太窄塞不下面板的提示功能。
lib/widgets/panel_header.dart:每個工作面板(如投影片、逐字稿、AI總結)上方的通用標頭,附帶關閉按鈕與可以用來拖曳排序的手把。lib/widgets/slides_panel.dart&slide_page.dart:投影片面板,以漂亮的卡片比例展示課堂簡報。lib/widgets/transcript_panel.dart&transcript_accordion.dart:課堂錄音逐字稿面板,包含可以點擊展開與收合。lib/widgets/summary_panel.dart:AI 自動課堂總結面板,整理出本課的重點提示與專有名詞。lib/widgets/chatbot_panel.dart:AI 助手聊天面板,提供精緻的問答對話泡泡與文字輸入框。
各位開發者好!這份指南將告訴你如何安全、流暢地提交代碼到本專案。
首先,把專案複製到你的本機電腦上:
git clone https://github.com/fishhh0710/SS-AILectureNote.git
cd Lecture_note_app確認一下是否有成功下載並處於 main 分支:
git branch
# 應該會看到: * main千萬不要直接把代碼 push 到 main!
請為你要開發的新功能或修復的 bug 建立專屬分支:
git checkout -b feature/chatbot-improvement分支命名規範:
feature/...➔ 開發新功能 (例如:feature/login-page)fix/...➔ 修復 Bug (例如:fix/reorder-bug)refactor/...➔ 程式碼重構、優化 (例如:refactor/layout-math)
做完修改後,將檔案暫存並提交。請好好撰寫有意義的 commit message:
git add .
git commit -m "Add message input field to chatbot panel"將你的分支推送到 GitHub 遠端倉庫(第一次推送請加上 -u):
git push -u origin feature/chatbot-improvement- 前往本專案的 GitHub 頁面。
- 你會看到一個黃色提示框顯示:
Compare & pull request➔ 點擊它。 - 撰寫簡單明瞭的標題與說明(寫下你修改了什麼)。
- 點擊
Create pull request➔ 大功告成!🎉
在開始任何新工作之前,永遠記得更新你的本機 main 分支,並合併到你的分支中:
# 更新本機 main
git checkout main
git pull
# 合併最新 main 到你的開發分支
git checkout feature/chatbot-improvement
git merge main| ❌ 錯誤行為 | ✅ 正確做法 |
|---|---|
直接在 main 修改程式碼 |
絕對不要!請務必另外開分支。 |
| PR 合併後留著一堆舊分支 | PR 合併後,請隨手刪除本機與遠端的舊分支。 |
| 忘了拉取最新更新就動筆寫程式 | 開工前一定要先執行 git pull。 |
| 推送(Push)被拒絕 | 確認你當前是不是在自己的分支,而不是在 main。 |
這裡有一些日常開發非常實用的 Git 指令:
# 查看目前有哪些檔案被修改、哪些尚未暫存
git status
# 查看修改程式碼的詳細差異內容 (比對程式碼修改處)
git diff
# 查看過去的 commit 提交歷史紀錄
git log --oneline
# 切換到已經存在的其他分支
git checkout <分支名稱>
# 1. 複製專案並進入資料夾
git clone https://github.com/fishhh0710/SS-AILectureNote.git
cd Lecture_note_app
# 2. 建立並切換到你的功能開發分支
git checkout -b feature/chatbot-integration
# 3. 編輯檔案,然後 commit 提交修改
git add .
git commit -m "Implement chatbot panel with message text field"
# 4. 推送到 GitHub
git push -u origin feature/chatbot-integration