Database Project - Stix

Database Project - Stix

LAVI

大三上資料庫研究專題

在此特別感謝我們日不落帝國的成員:CHA、404、nynapig

Introduction

由 KKTIX 活動管理系統發想,設計屬於我們的線上活動報名平台,取名 Stix (音同 Sticks )

使用者可查看、搜尋活動,在註冊登入後可舉辦活動、報名其他人的活動

Architecture

透過 Figma 設計網頁、Bootstrap撰寫前端、MySQL 儲存資料庫、Flask 建立框架並使用 Docker 部署 DataSet 資料來源:KKTIX 爬蟲、部份自行開發新增資料

Final Presentation

  1. 首頁可直接進行活動查詢,查詢方法有依活動及依活動名稱、活動編號查詢
  2. 報名活動和舉辦活動有於 Flask 框架中過濾權限,僅限已登入者
  3. 使用者可註冊/登入帳號,註冊帳號後可直接登入,並進入使用者帳號活動紀錄頁面,該 頁面記錄所有由此使用者舉辦的活動及報名的活動
  4. 使用者登入後,前端頁面最上方的 Header 會顯示該使用者名稱,SignUp/Login 按鈕會 消失,顯示舉辦活動按鈕可用及登出按鈕

首頁

查詢

皆支援模糊搜尋

  • 依 ID 查詢
  • 依名稱查詢
  • 依日期查詢,分為三種查詢分法:
    1. 在x月x日之前
    2. 在x月x日之後
    3. 在x月x日~y月y日之間

註冊帳號

全部欄位皆限定為必填

  • Sign up
    • Account: 使用者名稱,用來登入,有過濾不可使用已註冊之相同名稱
    • Password: 密碼
    • Email address: 信箱,且過濾僅允許信箱格式
  • 個人資料
    • 性別
    • 國家
    • 用戶名稱: 暱稱,登入後會顯示於右上角
    • 電話號碼: 有過濾僅限數字且須為電話號碼格式
    • 身分證字號: 有過濾僅限身分證格式
    • 生日: 有過濾日期格式

登入後會跳轉至個人主頁,主頁有個人活動報名紀錄和舉辦活動紀錄
右上角 header sign up 和 log in 按鈕會消失,舉辦活動按鈕此時才可按(未登入時不可按)

報名活動

  • 限登入
  • 登入後活動一覽右側會多 “報名” 按鈕
  • 報名有分普通票和優待票,可選擇購買票數(過濾限制不可大於當前該活動剩餘票數)

報名成功後會跳轉至個人主頁,主頁個人活動報名會多一筆報名紀錄

舉辦活動

全部欄位皆限定為必填

  • 限登入

活動舉辦成功後會跳轉至個人主頁,主頁個人舉辦活動紀錄會多一筆舉辦活動紀錄

點擊查看可看該活動詳細資訊

登出帳號

  • 點右上角登出的門型按鈕即可登出

登入帳號

  • 已註冊過的帳號可直接登入

後日談

我之所以會想用 Flask 框架來寫這次專題是因為今年暑假在 AIS3 遇到了超強電神隊友小黑 TYC4D,當時我們組能獲得網頁安全組最佳專題也是多虧了這位電神,而這最佳的專題即是使用 Flask 框架架構
因此藉由這次資料庫專題自己實際摸過一次 Flask,感覺技能樹又多點一個分枝了,好欸

p.s. 在這資料庫專題即將發表的前一週 a.k.a. 拚面趕工收尾的關鍵一週,我因為在家拿著馬克杯滑倒… 左手掌拿著馬克杯,順著跌倒方向,馬克杯碎裂,左手掌直接割下去… 我記得我看見了我的骨頭
然後就被送去醫院急診室把手掌縫起來,廢了一天後,隔天繼續用一隻手掌痛到哭也要狂敲鍵盤 coding,這次專題真的是名副其實血與淚構成的,哈哈哈….

另外,請務必在家滑倒時就算屁股跌到痛死也不要用拿著杯子的手去跌,我真的會被自己白癡死

雖然 Flask 的部份是我自己用斷手手刻的,
但其他部份有我們日不落帝國其他成員的貢獻,所以我就不私自公開分享我們專題的 source code 了

On this page
Database Project - Stix