專案介紹 — Checkout Page

AlphaCamp 學期 3 模擬面試作業

Dolly Chen
5 min readOct 23, 2021

※ 大綱:

1. 專案導覽與介紹 
- 電商結帳頁面 Checkout Page
2. 回答面試問題
▪︎ 你為何會選擇這個專案?
▪︎ 你使用了什麼技術?
▪︎ 哪部分你相對能掌握?哪裡花了最多時間?
▪︎ 過程中碰到什麼困難?又如何克服?
▪︎ 過程中你有對哪個前端技術有特別深刻的學習?
▪︎ 如果有時間,你會繼續開發哪個部分?
▪︎ 如果能夠重寫一次切版,你會修改哪個區塊的設計讓專案更好?

1. 專案頁面總覽 | 頁面特色

👉 電商結帳頁面 Checkout Page [ View ]
👉 ( Nov. 2021 更新) 使用 Vue.js 重新設計 [
Github ]

  1. RWD 設計,適合一般網頁及小螢幕使用者瀏覽
    ▪︎ 導覽列於小螢幕尺寸時會自動縮合,呈現簡潔的頁面
    ▪︎ 結帳表單與購物車的區塊會依螢幕大小進行不同的排版,以提升閱讀性
    ▪︎ 表格欄位自動根據使用者螢幕做調整,適時調整欄寬及換行
    ▪︎ 於小螢幕尺寸隱藏 footer 資訊,以避免資訊量過多模糊關注焦點
  2. 滿足使用者體驗的微互動設計:
    ︎▪︎ 黏著於頂部的導覽列能提供使用者觸手可及的導覽資訊
    ▪︎ 結帳表單拆分為多步驟,以減輕使用者閱讀負擔,
    藉此維持 user 投入程度,避免消費者在下單前半途而廢
    ▪ 提供 dark mode,讓身處不同使用環境的 user 皆保有良好的 UX
    ▪︎ 按鈕與連結樣式會在滑鼠停留時產生對應變化,提供使用者引導

2. 回答面試問題

▪︎ Q1 你為何會選擇這個專案?

網路購物已經成為現代人生活中不可獲缺的一部分,消費者的購買習慣在 Covid 疫情的催化下更快速的被改變,B2C 電商平台所創造的營業額逐年攀升,已成為不可忽視的零售新戰場。

我自己也是網路購物的愛好者,從學生時期到開始工作的十年間,我對網路購物的喜愛從未下降,依賴程度甚至更加的提升。於電商消費的 UX 在十年間有卓越的進步,為我的生活帶來極大的便利,成為我日常生活的重要夥伴。

綜合以上,電商龐大且仍在成長的市場需求,加上我自身對網路消費的熱愛,促使我選擇電商網頁作為我的專案主題。

▪︎ Q2 你使用了什麼技術?

在這個專案中,我使用 Sass 來設計網頁,透過使用此 CSS 預處理器來提升樣式的撰寫速度。

選擇 Sass 是因為它所提供的變數、巢狀寫法、Mixins、Extend、迴圈…等語法,能夠使我更有結構地撰寫清晰、簡潔、好維護的 CSS 程式碼。

尤其在實踐 Dark Mode 與 RWD 功能時,搭配 Sass 能夠簡潔快速的呈現效果,當想抽換其中一部分的底色或寬度時,也能夠快速的調整,不需在茫茫 CSS code 中找出四散的相關設定,避開要逐一修改的麻煩。

▪︎ Q3 哪部分你相對能掌握?哪裡花了最多時間?

最能掌握的步驟是在 RWD 版面調整,我認爲這歸功於自己在切版前進行的事前規劃,在規劃 HTML 架構時,就已將版面流動方式納入考量。正式開始實作切版時,僅需依照規劃與 mobile first 原則先為小螢幕尺寸做樣式設定,整體畫面完成後再按照設計稿添加大螢幕的 RWD 設計即可。

花最多時間的部分是 Sass 語法的熟悉,初期對語法上不熟悉,因此花費了較多的時間在查找官方說明,以了解 Mixins、Extend、迴圈等功能該如何實踐。

▪︎ Q4 過程中碰到什麼困難?又如何克服?

在進行 Dark Mode 實作時,發現原先的規劃方式不適合,因此進行了重構。

原先的規劃是透過監聽代表 dark mode 的月亮符號,當 button 被點擊時,觸發樣式套用在 documentElement 的節點上,並隱藏月亮按鈕改顯示太陽按鈕。但實作過程發現要設定的 add/remove classes 過多,並不是個好方法,因此決定放棄此法。

最後是透過翻閱自己的學習筆記尋找靈感,決定改為監聽 input checkbox 的 ‘change’ event,將原先的 <button> 改為 <label>,針對新的想法重構 HTML and JS,完成設定。

▪︎ Q5 過程中你有對哪個前端技術有特別深刻的學習?

透過這次實作,讓我對 Sass 有了更深入的了解,更能體會到 Sass/scss 是熱門工具的原因了。

▪︎ Q6 如果有時間,你會繼續開發哪個部分?

我會繼續開發 RWD 的相關設定,目前 Media queries 只針對 PC 與手機做設定,若有時間會想增加平板的設定,以提升使用體驗。

▪︎ Q7 如果能夠重寫一次切版,你會修改哪個區塊的設計讓專案更好?

本次的切版,我使用了 Sass create 出來的 shorthand classes,在 HTML 中加入許多元素選擇器。當初有這樣的想法是為了效仿 Bootstrap 的框架,希望在撰寫 HTML 的同時就能讓版面有六七成的相似度,但當我開始細微的調整 CSS styles 時,發現混用 class 元素選擇器與 CSS 樣式會造成樣式互相干擾,維護與調整時的閱讀性也不佳。

若可以重新寫一次切版,我會捨去大多數的 shorthand classes,直接將樣式設定統整在 Sass/CSS 中,避免樣式干擾、提升可閱讀性。

--

--

Dolly Chen
Dolly Chen

Written by Dolly Chen

帶點浪漫氣息的理工人,深信追求夢想永遠不嫌遲; 設定目標靠的是熱情與感覺,但執行目標靠的是理性與堅持。 希望在網頁開發這條路上,能夠挖掘自我的更多價值。