본문 바로가기
javascript

경비 추적기 記帳 expense

by it-square 2022. 1. 12.
반응형

你為何會選擇這個專案?

這個專案比較貼近日常生活,也算是較容易在平日使用的軟體,也因為較常使用,所以對於未來的功能延伸可能性也較大;另外因為個人偏愛後端技術,而在這個簡易的記帳軟體裡面,有非常多得機會讓自己練習資料庫的cr

你使用了什麼技術?

後端框架採用 express.js,資料庫採用mongodb,並且位於express.js以及mongodb中間的溝通媒介採用mongoose這個ODM od

 

前端的部分使用handlebars樣板引擎,風格樣式採用bootstrap。另外使用者認證的方式使用passport,使用者註冊的email認證使用nodemailer。

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

較能掌握的地方是 express.js 這個後端框架,因為過去有過很多次的經驗在架構路由以及相關設定,已經漸漸對於架構搭建有種 sop 的感覺xd

而非同步的操作在有些較為複雜的流程處理情境上,需要花比較多的時間來調整程式碼的編排架構,以及在 debug / 測試上面也相對比較麻煩。

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

 

由於之前在做passport 認證的過程,都是使用email來做登入,但是會出現惡意使用別人email帳號來做註冊的問題,為了解決這個情況,才在整個認證過程加上email 認證信件的功能,其中最困難的地方在於整個認證流程上的設

整個過程碰到的問題像是,要在什麼時候寄送認證email,或是如果沒有收到需要再重寄email,email認證的連結要怎麼製作/要怎麼檢查/是否需要有效期限,認證過的使用者不能在到認證網頁重新做認證;但是透過參考網路上

過程中你有對哪個技術有特別深刻的學習?

非同步操作的運用,在很多情境底下,有時候是需要做a之後才能做b,有時候則是可以同時做數項非同步操作,而在這個專案的製作過程不斷的練習非同步操作,讓我對於 new promise((resolve, reject)), promise.all([array]), 以及 async/await 有比以前還要更深

另外在對於專案的新增功能上面,整個從概念釐清到中間問題處理,以及最後的實作,讓我一步步體會自己動手做從未做過功能的感覺,最後功能做完不只有滿滿的成就感,也從中得到很多新的知識。

 

댓글