在接了無數個專案後,不斷從每次的專案中提取出可再利用的模組,整合到專案的開發引擎中,繼續在下一個專案中進化,反覆經歷不同類型的新舊專案後,開發引擎已經達到了穩定和全面的程度,而這個開發引擎的名字是「提爾」(Tyr)。

儘管 Tyr 的進化已經達到成熟階段,能應付不同類型專案的開發需求,但身為接案工作者的我仍避不了不斷開新專案的輪迴。於是藉由累積近十年來的專案經驗,做一個平台式的專案,能把未來談到的新專案都納入這個平台裡。

在過去的十年中,最常接到的專案類型是電子商務(EC),但我不想蓋一個 shopline 或 pchome 和他們競爭,在思考這個平台架構的過程中,意識到其實我應該把這個平台優先用於提昇自己的本業,所以這個平台最早期的使用者其實就是我自己,當能透過 Odin 來完成客戶的專案後,再把後台系統進化成客戶可用,就算是完成了一個專案的整合。

隨著想法逐步完整後,便開始利用零碎時間開發,然而進度十分緩慢,Odin 專案大概是在 2019 年秋天時開啟,到 2020 年農曆過年後,完成了 muti-domain routing 和 user admin panel,接著就是等看看有哪些新專案可以拿來當第一個沙包。

專案的選擇十分重要,畢竟是第一個要套進來的,很希望是電商,逢疫情爆發之際心裡多少期待能再找到新的電商專案,最好是不要太複雜,萬一太複雜可能又整合不進 Odin,但疫情造成的影響是預算縮編大於電商需求,直到有一些純 CMS 的專案進來後,加上 Tyr 也在今年導入了 custom webpage 的模組,於是就決定先讓 Odin 能吃下一些 CMS 類型的專案,畢竟電商也有 CMS 的需求,就當打底吧。

但這些洽談中的 CMS 專案卻遲遲未談定,反而原本要做進銷存的潛在客戶說他能接受先有 Blog 系統,所以連續幾天趕工後,Blog + Custom theme 的模組總算是完成上線了。你們正在看的這篇文章,即是 Odin 所建立的專案,其背後沒有做任何的 view,完全靠 custom webpage 來完成整個架構。

在開發 Blog 的過程中,同時建立起了 Modules 的架構,即每個網站都可以選擇欲啟用的模組,Blog 即是其中一個可被啟用的模組,透過這個方式便可依不同專案的需求啟用模組,或者視情況開發未來其他專案也可用的模組。

當然,接下來的挑戰會更多,Blog 系統本身也有很多 feature 待補,但這些 feature 也會是我最後一次開發他們了。