第30天:總結與實作專案
課程簡介
本課程的最後一天將總結前29天學習到的內容,並指導你完成一個完整的實作專案。透過這個專案,你將運用之前學到的知識,包括物件導向設計、ASP.NET Core、資料庫連接、前後端交互、CI/CD 等,來建構一個完整的 Web 應用程式。此實作專案將是對你學習成果的驗證,並且為日後進一步開發與專案工作打下基礎。
學習目標
- 複習並總結 Dotnet 相關的核心技術與概念
- 完整應用學過的知識進行專案開發
- 培養將不同技術整合的能力,解決實際開發問題
- 獨立完成一個 Dotnet Web 應用程式
課程內容
1. 總結與複習
我們在前面的29天課程中學習了以下幾個主要主題:
- Dotnet 簡介與安裝:了解 Dotnet 的歷史與生態系統,並完成開發環境的安裝。
- C# 基礎:學習了 C# 語言的變數、資料型態、條件判斷、循環結構、方法與函數、物件導向設計等基礎概念。
- 進階 OOP:探索了繼承、多型、介面與抽象類別等更高階的物件導向特性。
- 例外處理與集合操作:處理異常狀況並操作集合與陣列。
- Lambda 與 LINQ:熟悉了使用 Lambda 表達式進行簡潔的代碼編寫與 LINQ 進行資料查詢。
- 檔案操作與資料庫連接:實作檔案的讀寫與使用 Entity Framework 進行資料庫操作。
- Web 應用程式開發:學習了如何使用 ASP.NET MVC 與 Razor Pages 建構 Web 應用程式,並建立 Web API 供前端使用。
- 驗證、授權與中介軟體:探討了如何實作身份驗證與授權機制,並運用中介軟體實現服務注入。
- 部屬與發布:熟悉如何將應用部署到 IIS 與 Azure 平台。
- 持續整合與交付:學會使用 CI/CD 自動化構建、測試與部署流程,提升開發效率。
- 效能最佳化、記錄與監控:實作應用程式的效能提升與穩定性保證。
這些主題將支撐你完成最終的實作專案。
2. 實作專案:線上書籍管理系統
專案要求你建構一個完整的 線上書籍管理系統。這個系統將使用前面學到的所有技術,包含使用 ASP.NET Core 架構、Entity Framework、前後端交互、驗證授權、資料庫操作、並且包含 CI/CD 部屬流程。
專案需求
基本功能
- 書籍管理:
- 用戶可以新增、編輯、刪除書籍資訊(如書名、作者、ISBN、出版日期)。
- 書籍清單能夠展示並篩選現有的書籍。
- 使用者管理:
- 管理員可新增、編輯、刪除使用者。
- 使用者需要註冊並登入系統才能使用系統功能。
- 資料庫操作:
- 使用 Entity Framework Core 來管理書籍與使用者資料。
- 驗證與授權:
- 登入後才能進入系統。
- 只有管理員能操作使用者與書籍資料。
- Web API 提供前端服務:
- 提供 API 供前端來進行資料操作與顯示。
進階功能
- 前後端交互:
- 使用 Razor Pages 或者 JavaScript 來處理書籍資料的動態更新。
- 單元測試與 CI/CD:
- 使用單元測試驗證關鍵功能。
- 建立 CI/CD 自動化管道,實現自動構建、測試與部屬。
- 前端框架整合(選擇性):
- 若希望增強前端體驗,可考慮整合 React 或 Vue.js 進行動態 UI 呈現。
3. 實作步驟
第一步:專案架構設計
- 先設計系統的資料結構,確定書籍與使用者的資料模型。
- 使用 Entity Framework Core 建立資料庫模型,生成相關資料表。
第二步:書籍管理功能實作
- 實作書籍的 CRUD 操作,包含資料庫連接、表單提交與驗證。
- 建立 Razor Pages 來顯示書籍清單、篩選條件等功能。
第三步:使用者註冊與登入系統
- 使用 ASP.NET Core Identity 系統來實作使用者的註冊與登入。
- 設定角色與授權系統,限制只有管理員可進行操作。
第四步:API 設計
- 為前端設計 RESTful API,供使用者查詢與更新書籍資料。
- 使用 Swagger 或 Postman 測試 API 功能。
第五步:部屬與 CI/CD
- 將專案部署到 IIS 或 Azure Web App。
- 設定 GitHub Actions 或 Azure Pipelines,自動化構建與測試過程。
4. 實作專案總結
完成這個專案後,你將:
- 理解如何將後端邏輯、資料庫操作、前端呈現與 CI/CD 有效結合。
- 提升你對整體 Web 應用程式開發的理解。
- 能夠獨立實作並部署一個生產環境中的應用程式。
教學重點
- 完整掌握 Dotnet 開發技能。
- 學會將不同技術整合運用,完成實際專案。
- 了解如何通過 CI/CD 實現快速開發、測試與部署,並應用到真實世界的情境中。
完成這個最終專案後,你將擁有一個可以展示給潛在雇主或客戶的作品,同時鞏固你的 Dotnet 技術,並為你的開發者職涯奠定堅實的基礎。
本文章以 CC BY 4.0 授權