文章

第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 部屬流程。

專案需求

基本功能

  1. 書籍管理
    • 用戶可以新增、編輯、刪除書籍資訊(如書名、作者、ISBN、出版日期)。
    • 書籍清單能夠展示並篩選現有的書籍。
  2. 使用者管理
    • 管理員可新增、編輯、刪除使用者。
    • 使用者需要註冊並登入系統才能使用系統功能。
  3. 資料庫操作
    • 使用 Entity Framework Core 來管理書籍與使用者資料。
  4. 驗證與授權
    • 登入後才能進入系統。
    • 只有管理員能操作使用者與書籍資料。
  5. Web API 提供前端服務
    • 提供 API 供前端來進行資料操作與顯示。

進階功能

  1. 前後端交互
    • 使用 Razor Pages 或者 JavaScript 來處理書籍資料的動態更新。
  2. 單元測試與 CI/CD
    • 使用單元測試驗證關鍵功能。
    • 建立 CI/CD 自動化管道,實現自動構建、測試與部屬。
  3. 前端框架整合(選擇性)
    • 若希望增強前端體驗,可考慮整合 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 授權