AC_A3老爸的私房錢 (記帳本)

  • 你為何會選擇這個專案?

這個專案涵蓋了很多簡單又常用的功能.   
   
使用者的註冊登入, 資料庫的CURD與簡單的計算跟sorting.  

日後我有一個side project要做一個PM用的ERP

所用到的功能跟這個會很貼近.  所以是一個用來強化記憶的好專案

  • 你使用了什麼技術?

這是一個佈署再Heroku上的網站應用, 是用Node.js中的Express架構來完成的

前端是以express-handlebars, bootstrap, 以及一些手刻的CSS

後端是用mongoose連接mongoDB做資料管理

註冊登入功能是使用passport搭配bcrypt.js做加密

 

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


Express的架構以及Mongoose的資料庫管理是我最有信心的

花最多時間的是登入功能, 

因為涉及到很多套件的使用例如passport, local, session, facebook等套件 

而每個套件又有自己的函式與參數設定. 這部分我需要看著官方文件做. 

還沒辦法都記起來


  • 過程中碰到什麼困難?又如何克服?(例如:查找網路文件)

有一個地方卡很久是在依照記帳類別來顯示對應的icon的功能

這個功能我上網找了一下可以用handlebars中的helper來完成

我試做了一下沒有做出來, 而且在做的過程有點牴觸. 

因為這個功能只有一個地方用到, 專門為它去創一個helper覺得有點浪費.  

所以後來就直接在資料處理這邊用邏輯的方式處理掉了


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

非同步處理

在跟資料庫索取資料, 處理資料, 回傳前端這部分涉及到同步/非同步的任務

從callback, promise, async/await的方式都試過.  目前是用比較熟悉的promise語法來完成

但是看了網路上很多人推崇async/await的寫法, 因為更直觀, 日後小組維護程式碼更容易

所以這禮拜想把promise的地方用async改寫看看, 熟悉一下. 

 

還有一個就是前端設計這塊, 因為類似的專案很多, 看了一下其他人的作品

弄得真的是好看的. 心裡想說, 一個記帳本弄成這樣, 有點過分了喔





留言