Skip to content

fishhh0710/SS-AILectureNote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI-Lecture-Note App 🧠

這個專案是一個基於 Flutter 開發的課堂學習筆記軟體。它提供了一個可以自由調整大小、拖曳排序的多面板工作區,幫助學生同時瀏覽投影片、逐字稿、AI 總結與聊天。


📂 檔案目錄與功能說明

這裏簡單介紹每個重要檔案所負責的功能,方便開發者快速上手:

🚀 核心入口與路由

  • lib/main.dart:應用的進入點。負責初始化 App、設定綠色系主題,以及配置頁面跳轉的路由規則(go_router)。
  • lib/widgets/layout_wrapper.dart:全域的畫面外殼。會自動幫一般頁面加上頂部標題和底部狀態列,並在進入課堂看筆記時自動隱藏它們,空出完整螢幕。

🖥️ 主頁面(Screens)

  • lib/screens/dashboard.dart:首頁(儀表板)。用來展示目前的所有課程卡片。
  • lib/screens/course_details.dart:課程詳細頁面。展示該堂課的大綱、講義資料夾與課堂檔案。
  • lib/screens/lecture_view.dart:筆記本頁面。支援多面板並存、滑動拉桿調整大小、拖曳手把排序、以及防範螢幕太窄塞不下面板的提示功能。

🧩 工作區面板與組件(Widgets)

  • 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 助手聊天面板,提供精緻的問答對話泡泡與文字輸入框。

💻 如何參與貢獻 (How to Contribute)

各位開發者好!這份指南將告訴你如何安全、流暢地提交代碼到本專案。

🚗 1. 複製專案 (Clone)

首先,把專案複製到你的本機電腦上:

git clone https://github.com/fishhh0710/SS-AILectureNote.git
cd Lecture_note_app

確認一下是否有成功下載並處於 main 分支:

git branch
# 應該會看到: * main

🌱 2. 建立你自己的分支 (Branch)

千萬不要直接把代碼 push 到 main! 請為你要開發的新功能或修復的 bug 建立專屬分支:

git checkout -b feature/chatbot-improvement

分支命名規範

  • feature/... ➔ 開發新功能 (例如:feature/login-page)
  • fix/... ➔ 修復 Bug (例如:fix/reorder-bug)
  • refactor/... ➔ 程式碼重構、優化 (例如:refactor/layout-math)

✍️ 3. 修改程式碼並提交 (Commit)

做完修改後,將檔案暫存並提交。請好好撰寫有意義的 commit message

git add .
git commit -m "Add message input field to chatbot panel"

⬆️ 4. 推送分支 (Push)

將你的分支推送到 GitHub 遠端倉庫(第一次推送請加上 -u):

git push -u origin feature/chatbot-improvement

🔁 5. 建立 Pull Request (PR)

  1. 前往本專案的 GitHub 頁面。
  2. 你會看到一個黃色提示框顯示:Compare & pull request ➔ 點擊它。
  3. 撰寫簡單明瞭的標題與說明(寫下你修改了什麼)。
  4. 點擊 Create pull request ➔ 大功告成!🎉

🔄 6. 同步最新程式碼

在開始任何新工作之前,永遠記得更新你的本機 main 分支,並合併到你的分支中:

# 更新本機 main
git checkout main
git pull

# 合併最新 main 到你的開發分支
git checkout feature/chatbot-improvement
git merge main

💣 7. 避開常見錯誤

❌ 錯誤行為 ✅ 正確做法
直接在 main 修改程式碼 絕對不要!請務必另外開分支。
PR 合併後留著一堆舊分支 PR 合併後,請隨手刪除本機與遠端的舊分支。
忘了拉取最新更新就動筆寫程式 開工前一定要先執行 git pull
推送(Push)被拒絕 確認你當前是不是在自己的分支,而不是在 main

💡 8. 實用 Git 常用指令 (Useful Git Commands)

這裡有一些日常開發非常實用的 Git 指令:

# 查看目前有哪些檔案被修改、哪些尚未暫存
git status

# 查看修改程式碼的詳細差異內容 (比對程式碼修改處)
git diff

# 查看過去的 commit 提交歷史紀錄
git log --oneline

# 切換到已經存在的其他分支
git checkout <分支名稱>

📘 完整工作流程範例 (Full Example)

# 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors