首先,非常感謝看到最後的各位。
這邊來整理一下整份 todoList 專案我們做了哪些事情。
- 透過階段性重構,移除多餘的 code , 整合元件邏輯,保證 code 的品質 & 乾淨度。
- 使用 Next.js 製作了一份可以進行 CRUD 操作的 TodoList 專案。
- 使用 Next.js 的特性,在 api 資料夾中建立一個簡單的 api ,用來提供 mock data 。
- 使用 render props 的模式,進行依賴反轉,從子元件決定要使用甚麼圖片變成可以在父元件透過傳入 component 的方式控制子元件的呈現內容。
- 使用 Redux 進行狀態管理,讓我們可以在不同的元件中取用同一個來源的資料。
- 使用 Redux 中的 createSelector 篩選出特定條件的資料,並且依賴於 store 中的原資料。
- 使用 custom hook 的方式,抽出重複邏輯,減少重複的 code,實現可複用的 hook 。
- 使用 react form hook 進行表單驗證。
- 使用 supabase 實現會員註冊 & 登入。
- 使用 supabase 進行資料儲存 & 取用。
- 使用 Jest 進行單元測試,透過實行 TDD (測試驅動開發) 確保我們 code 的品質 & 穩定性。
- 在沒有使用 TypeScript 的情況下,使用 JsDoc 提高 code 的易讀性 & 利於協作 & 維護。
我覺得最可惜的點在於第14天就因為沒有 PO 到文章所以中斷,不過秉持著重在參與的想法還是把整個文章 PO 滿30天了, 在這鐵人賽的過程中清楚的感受到了,文章 PO 到越後面壓力越大。
隨著專案進入到越後期撞到的牆/採到的坑也越來越多,會一直有想放棄的衝動,有時候會覺得說是不是可以說自己這邊不會就好,不過轉念一想,工程師的價值在於解決問題,那肯定是不能就這樣放棄,只能硬著頭皮繼續寫下去。
整份專案寫到現在也算是對一開始所說的技能遍歷有個交代了,把之前不常用 & 沒用到的工具全都用了一輪,踩到坑就去翻文件,慢慢從坑裡爬出來,最後的一路踩的坑都會是日後的墊腳石。