開發框架與資料庫
- ASP.NET Core MVC(.NET 5)
- Entity Framework Core 5
- SQL Server 2019
開發軟體
- Visual Studio 2019
- SSMS or Azure Data Studio(偶爾會用 macOS 開發)
系統應用描述
在一個活動中,主要會有「一般使用者」與「活動主辦方」兩種角色。這裡從兩種角色最一開始到結束的行為,e.g. 報名、舉辦活動開始至填寫活動意見回饋、瀏覽活動成效統計,用敘事的方式來統整系統會使用到哪些功能:
- 一般使用者
這週日剛好一整天沒事,到活動系統看一下有什麼活動可以參加好了。
這次想聽音樂會,於是將分類篩選中的音樂會多選方塊勾選起來,並且將活動舉辦日選擇為本週。
畫面顯示有個 A 樂團的音樂會,(當滑鼠移到報名按鈕時)發現按鈕無法點選,並且顯示已停止報名的文字,只好看看有沒有其他樂團的音樂會可以參加,於是在分類篩選中勾選起尚可報名的多選方塊。
這次看到了 B 樂團的音樂會並且狀態顯示可報名,於是點擊活動標題,瀏覽器導向到活動的詳細資訊頁面。
頁面最下方有個報名的按鈕可點選,點選後瀏覽器跳轉至個人資訊填寫頁面,如果會員尚未登入,則先跳轉至登入頁面;若會員已登入,且已事先在會員中心填寫好個人資訊,則個人資訊填寫頁面的欄位直接帶出相對應的值。
剛剛忘記看活動幾點開始了,於是到會員中心中的活動參加歷史頁面,查找剛剛的活動,藉此得知活動的資訊。
在一般使用者的使用情境中,可以統整出下列功能:
- 瀏覽頁面(首頁)
- 活動名稱查詢
- 分類篩選
- 活動種類篩選
- 活動日篩選
- 是否開放報名
- 顯示活動狀態
- 活動詳細頁面
- 活動內容資訊
- 確認報名
- 活動報名確認頁面
- 填寫會員資訊
- 活動主辦者
我是 B 樂團的行政人員,這次演出將在 2022-10-02 舉辦一場音樂會,地點在高雄市的大東文化藝術中心,報名人數上限將設定在 100 人,可報名期間設定在 2022-09-01 00:00:00 ~ 2022-10-01 23:59:59,票價為 0 元,當然還有其他關於活動資訊的欄位要填寫,主辦單位相關資訊將會直接從會員中心的基本資料帶出。
而在活動主辦者的使用情境中,統整出以下功能:
- 活動舉辦頁面
- 活動詳細內容輸入
而兩者皆需要使用的功能為:
- 會員登入/註冊
- 系統自有註冊
- Google OAuth
- 會員中心
- 會員/主辦資訊輸入
- 活動參加/主辦歷史查詢
功能開發順序,我會如此排定:
- 系統的主軸在「活動」,所以會先從活動本身的 CRUD 來進行開發
- 會員註冊/登入功能(會有身份權限的功能)
- 前端 Bootstrap 套版
以上簡述了本次活動報名與管理系統的功能,每個功能的細節以及商業邏輯會在接下來的文章一一描述以及實作。
那麼,我們下一篇見!